java - 强制源和目标使用 Java 版本的两种方法

标签 java maven pom.xml target

对于基于 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/

相关文章:

eclipse - 关于 Yeoman、Maven 和 Thymeleaf HTML 模板位置的询问

java - 具有多个模块的 Maven 包名称

java - 如何在 JList 中组合 2 个 vector ?

java - Stream#limit 可以返回比预期更少的元素吗?

java - GWT WebApp 寻找入口点

java - 无法在 Tomcat 7 中运行 maven 项目

java - Eclipse Maven : Unknown errors in pom. xml

java - 跨项目应用程序中未显示 log4j 日志记录?

java - 我应该如何在 clojure 中表示国际象棋位板?

java - 如何获取 .MSG 文件的 MIME 类型?