为什么Maven项目默认绑定到J2SE-1.5?

时间:2014-01-20 20:34:11

标签: java eclipse maven m2e

如果我根据Maven中没有原型Eclipse项目创建默认空,则它将基于J2SE-1.5

enter image description here

我要手动更改Build Path条目和代码合规性。

为什么?

如何成为其他人?

3 个答案:

答案 0 :(得分:14)

@axtavt是对的,将源级配置添加到您的项目中。但是不要配置maven-compiler-plugin,只需将此属性放入pom.xml

<properties> 
  <maven.compiler.source>1.7</maven.compiler.source> 
  <maven.compiler.target>1.7</maven.compiler.target> 
</properties>

在Eclipse中进行此刷新maven配置之后。

答案 1 :(得分:7)

maven-compiler-pluginsourcetarget设置一致,默认为1.5

如果更改它们,生成的项目也会使用不同的版本:

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

请注意,如果在不更改maven-compiler-plugin设置的情况下更改Eclipse项目的合规性设置,则Maven构建将与Eclipse环境不一致。

答案 2 :(得分:1)

如果要确保在Eclipse中新创建的项目使用Java 1.5以外的其他默认Java版本,可以在maven-compiler-plugin中更改配置。

  • 转到文件夹.m2 / repository / org / apache / maven / plugins / maven-compiler-plugin / 3.1
  • 使用zip程序打开maven-compiler-plugin-3.1.jar。
  • 转到META-INF / maven并打开plugin.xml
  • 在以下行中:
    $ {maven.compiler.source}
    $ {maven.compiler.target}

  • 将默认值更改为1.7或1.8或任何您喜欢的值。

  • 保存文件,并确保将其写回到zip文件中。

从现在开始,所有新的Maven项目都使用您指定的Java版本。

信息来自以下博客文章:https://sandocean.wordpress.com/2019/03/22/directly-generating-maven-projects-in-eclipse-with-java-version-newer-than-1-5/