对于我使用的特定Maven原型的特定Eclipse安装,我在pom.xml
中找到了这些默认值:
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
我不明白什么"的意思。这个数字对应的是什么?是JDK版本吗?
我认为这应该是Java语言版本,但这显然是不正确的。在撰写本文时,我相信最新版本的"Java语言"。是Java 20,尽管Java 17是目前的"长期支持"。版本。
如何计算每个Java(语言)版本的maven.compiler.source
和maven.compiler.target
对应的数字?
例如:
- Java 20 ->
maven.compiler.source/target
值是多少? - Java 17 ->
maven.compiler.source/target
的值是多少?
在Java 11(或者可能是9)中,句号被删除了,所以是的,您需要分别为17或20。
但是,您不能将该值设置为高于Maven正在使用的JDK的值(通常由JAVA_HOME
环境变量设置)
使用javac
命令列出您可以使用的支持版本
release支持的值是当前Java SE版本和有限数量的以前版本,详细信息请参见命令行帮助.
注:目标版本必须等于或高于源版本
您不需要将它们设置为相同的值。例如,如果您要在没有安装更新的JRE的遗留系统上运行代码,则需要向下编译到JDK 1.7/1.8