对于基于 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>
为什么我要使用其中之一?
最佳答案
这是一个品味和偏好的问题。两者 - according to the documentation - 完成本质上相同的事情。
我见过的约定是使用 compiler plugin相反,因为您获得了一些有关实际强制编译特定版本的保证。
关于java - 强制源和目标使用 Java 版本的两种方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50205549/