项目属性与 pom 中的 Java 版本

Posted

技术标签:

【中文标题】项目属性与 pom 中的 Java 版本【英文标题】:Java version in project properties vs pom 【发布时间】:2019-04-08 03:17:53 【问题描述】:

嗨,我最近开始使用 maven。我遇到了由项目的不同部分中指定的不同 java 版本引起的错误。 到目前为止,我知道我可以在 project-properties Java 编译器、project-properties 项目方面和 pom.xml 中指定编译器版本 为什么一定要提到我在这些不同地方使用的java版本?

<plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.0</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>

【问题讨论】:

【参考方案1】:

Maven 的范例是一组“标准”全局配置,您可以使用 pom.xml 中的配置覆盖它。

此全局配置中指定的默认版本为 1.5/1.6(取决于 Maven 版本)。查看(可选)项目配置会打破这种范式。你怎么能看着别人的 pom 就自信地说出 Java 版本呢?

您所指的项目配置是特定于域的,不是 Maven 构建所必需的。

有关 Maven Java 版本的更多信息 - https://***.com/a/38883073

【讨论】:

以上是关于项目属性与 pom 中的 Java 版本的主要内容,如果未能解决你的问题,请参考以下文章

Maven的属性,${project.basedir},${project.build.directory}:项目构件输出目录,默认为 target/

Maven内置属性POM属性

多模块项目中的 Maven 属性重置为默认值

pom.xml Cannot resolve mysql:mysql-connector-java:8.0.25

从 pom 中的项目版本中删除 -SNAPSHOT

我想从 Github Actions 中的 pom.xml 获取项目版本