javac 源和目标选项用法
javac source and target options usage
当我们使用javac选项时:
-source
和 -target
编译器 "knows" 如何生成代码?
我的意思是任何编译器如何知道任何先前的规范
java 发布或者我必须做一些设置才能提供
关于他们的一些信息?
javac
程序知道如何在您不提供任何额外信息的情况下处理这些参数。但是请注意,这里有一个陷阱:这些选项与源语法和 class 文件格式和内容相关,但 不 考虑Java 标准库。因此,他们将完全满足于编译依赖于标准库 classes 或(例如)Java 7 中的新方法的代码,尽管源或目标 Java版本被设置为更早的版本。 原则上结果可以运行在那个早期的Java版本上,但实际上这将需要向后移植后来的标准库,至少部分。
如果您正在为 开发 特定最低版本的Java,您应该使用 开发该版本。 -source
和 -target
options 如果您或其他人以后想要使用更高版本的 javac
重建源代码,而不放弃 运行 与早期目标的时间兼容性,那么 -source
和 -target
选项就会发挥作用Java.
当我们使用javac选项时:
-source
和 -target
编译器 "knows" 如何生成代码?
我的意思是任何编译器如何知道任何先前的规范 java 发布或者我必须做一些设置才能提供 关于他们的一些信息?
javac
程序知道如何在您不提供任何额外信息的情况下处理这些参数。但是请注意,这里有一个陷阱:这些选项与源语法和 class 文件格式和内容相关,但 不 考虑Java 标准库。因此,他们将完全满足于编译依赖于标准库 classes 或(例如)Java 7 中的新方法的代码,尽管源或目标 Java版本被设置为更早的版本。 原则上结果可以运行在那个早期的Java版本上,但实际上这将需要向后移植后来的标准库,至少部分。
如果您正在为 开发 特定最低版本的Java,您应该使用 开发该版本。 -source
和 -target
options 如果您或其他人以后想要使用更高版本的 javac
重建源代码,而不放弃 运行 与早期目标的时间兼容性,那么 -source
和 -target
选项就会发挥作用Java.