对于基于Maven的Java项目,我已经看到两种方法强制在POM文件的源和目标中使用特定版本的Java。
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>10</maven.compiler.source>
<maven.compiler.target>10</maven.compiler.target>
</properties>
...和...
<build>
<pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
<plugins>
…
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>10</source>
<target>10</target>
</configuration>
</plugin>
我为什么要使用其中一个?
答案 0 :(得分:2)
这是品味和偏好的问题。两者 - according to the documentation - 完成基本相同的事情。
我使用过的惯例是使用compiler plugin代替,因为您已经给出了实际强制特定版本进行编译的一些保证。
答案 1 :(得分:0)
简便的方法是在您的IDE中使用设置菜单。 例如,在Intelij IDEA中,您可以转到文件/设置/构建,执行,部署/编译器/ Java编译器,并在rigth面板中选择首选的JDK版本。 默认值为“与语言级别相同”。