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

问题描述 投票:12回答:3

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

我将手动更改构建路径条目和代码合规性。

为什么?

如何使它成为其他?

java eclipse maven m2e
3个回答
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配置之后。


7
投票

这与sourcetargetmaven-compiler-plugin设置一致,默认情况下是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环境不一致。


1
投票

如果要确保Eclipse中新创建的项目使用另一个默认java版本而不是Java 1.5,则可以更改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
  • 在以下几行中: <source implementation =“java.lang.String”default-value =“1.5”> $ {maven.compiler.source} </ source> <target implementation =“java.lang.String”default-value =“1.5”> $ {maven.compiler.target} </ 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/

© www.soinside.com 2019 - 2024. All rights reserved.