之间有什么关系/区别sourceCompatibility
and targetCompatibility
?当它们设置为不同的值时会发生什么?
根据工具链和兼容性 https://docs.gradle.org/current/userguide/java_plugin.html#toolchain_and_compatibility的部分Java插件 http://www.gradle.org/docs/current/userguide/java_plugin.html摇篮文档:
-
sourceCompatibility
是“编译 Java 源代码时使用的 Java 版本兼容性”。
-
targetCompatibility
是“为其生成类的 Java 版本”。
我的理解是targetCompatibility
将生成与特定版本的 Java 兼容的 Java 字节码。这是功能的子集吗sourceCompatibility
?
targetCompatibility
and sourceCompatibility
映射到-target release
and -source release
在javac中。源基本上是源语言级别,目标是生成的字节码级别。
更多详细信息可以在交叉编译选项javac
的部分工具参考 对于Java 8 https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html, 对于Java 11 https://docs.oracle.com/en/java/javase/11/tools/javac.html#GUID-AEEC9F07-CB49-4E96-8BC7-BCC2C7F725C9__CROSS-COMPILATIONOPTIONSFORJAVAC-7D3D83C3, 对于Java 17 https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html, or 对于Java 19 https://docs.oracle.com/en/java/javase/19/docs/specs/man/javac.html.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)