当使用 JDK 1.6 编译时,是否可以选择构建在 JRE 1.5 上运行的 java 代码?

附:我是 Java 新手。

有帮助吗?

解决方案

如果您有1.6编译代码,那么它不会在1.5上运行。如果你想让它在1.5上运行,那么你可以用1.5编译代码,这将是能够在两个运行。

试着用1.5编译,如果有错误,然后张贴。它不会在1.5编译的唯一方法是,如果你在代码中使用特定的1.6的增强功能。


要回答的真正的问题。

  javac -target 1.5

请参阅此处更多的细节。

其他提示

是的,可以。请参见 http://java.sun.com/javase/ 6 /文档/技术说明/工具/窗/ javac.html 和查找部分“交叉编译选项”。总之,你需要指定-target = 1.5〜javac的。蚂蚁也支持当然这个标志,

看一下 javac“-source”和“-target”选项:

http://java.sun.com/javase/6/docs/technotes/tools/windows/javac.html

-来源 发布

指定接受的源代码版本。允许使用以下释放值:

  • 1.3编译器不支持JDK 1.3之后引入的断言,仿制药或其他语言功能。
  • 1.4编译器接受包含断言的代码,这些代码是在JDK中引入的。
  • 1.5编译器接受JDK 5中介绍的包含通用和其他语言功能的代码。
  • 5 1.5的同义词。
  • 1.6这是默认值。Java SE 6 中没有引入任何语言更改。但是,如前所述,现在报告了源文件中编码错误,而不是警告。
  • 6 1.6的同义词。

+

-目标 版本

生成针对指定版本的 VM 的类文件。类文件将在指定目标和更高版本上运行,但不能在早期版本的 VM 上运行。有效目标为 1.1 1.2 1.3 1.4 1.5(也为 5)和 1.6(也为 6)。

-target 的默认值取决于 -source 的值:- 如果未指定 - 源,则-target的值为1.6

  • 如果 -source 为 1.2,则 -target 的值为 1.4
  • 如果 -source 为 1.3,则 -target 的值为 1.4
  • 对于 -source 的所有其他值,-target 的值就是 -source 的值。

这完全取决于您使用的 API。Swing、Instrumentation、JConsole 等随着时间的推移而变化。

如果你试试:

http://www.coderanch.com/t/382318/Java-General/java/New-Features-Java

它有指向各个页面的链接,指示每个最后主要版本之间的差异,其中:

http://java.sun.com/javase/6/webnotes/features.html

是最新版本中更改/新功能的列表。

希望这会给你一些想法。

当然,您需要在 1.5 下编译它才能使其与该 JRE 一起运行。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top