Java 1.3 运行时上的 Java 5 编译的二进制文件

发布于 2024-11-12 00:35:18 字数 296 浏览 2 评论 0原文

我是否可以知道在 Java 1.3 JVM 上运行 Java 5 编译的代码(符合 Java 1.3 源/目标合规性)是否存在任何问题?

我知道这很奇怪,但我们的大多数客户都使用 Java 5,但由于我们无法控制的情况,我们受到少数仍然使用 Java 1.3 的限制。我们的 CI 工具使用 Java 5 编译器,但我们将源和目标合规性设置为 Java 1.3 以实现向后兼容性。我们没有使用 Java 1.3 进行 CI,因为有些单元测试无法在 1.3 上编译。

这会是一个问题吗?

先感谢您!

干杯, ——保罗

May I know if there are any issues running a Java 5-compiled code (with Java 1.3 source/target compliance) on a Java 1.3 JVM?

I know this is quite odd, but most of our customers are on Java 5 but we are restricted by a few still on Java 1.3 due to conditions beyond our control. Our CI tool uses Java 5 compiler but we set our source and target compliance to Java 1.3 for backward compatibility. We are not using Java 1.3 for CI because there are unit tests that does not compile on 1.3.

Will this be an issue?

Thank you in advance!

Cheers,
- Paul

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

情绪操控生活 2024-11-19 00:35:18

让编译器检查应用程序中的源代码的唯一方法。唯一使用1.3的方法是指定一个指向1.3 rt.jar的-bootclasspath。请注意,您可以从 1.3 JRE 获得这一点,它不需要 1.3 SDK/编译器。当然,指定 -target 为 1.3。

The only way to get the compiler to check that source in your app. only uses 1.3 methods is to specify a -bootclasspath pointing to a 1.3 rt.jar. Note you can get that from a 1.3 JRE, it does not require a 1.3 SDK/compiler. Of course, specify a -target of 1.3.

隱形的亼 2024-11-19 00:35:18

您将遇到的最大问题是,虽然 JVM 生成的字节代码将兼容 1.3,但您编译所针对的 JDK 是 Java 5。使用 Java 中存在的类(或更可能是方法)非常容易5,但不在 1.3 JDK 中。该代码可以正常编译,但无法在 1.3 运行时运行。

The biggest problem you will have is that while the JVM generated byte code will be compliant with 1.3, the JDK you're compiling against is Java 5. It is very easy to use a class, or more likely, a method that exists in Java 5, but not in the 1.3 JDK. This code will compile fine but will fail to run on a 1.3 runtime.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文