“源兼容性”和“目标兼容性”有什么区别?

2024-05-14

之间有什么关系/区别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(使用前将#替换为@)

“源兼容性”和“目标兼容性”有什么区别? 的相关文章

随机推荐