Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么Maven项目默认绑定到J2SE-1.5?_Java_Eclipse_Maven_M2e - Fatal编程技术网

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

Java 为什么Maven项目默认绑定到J2SE-1.5?,java,eclipse,maven,m2e,Java,Eclipse,Maven,M2e,如果我在Eclipse中基于无原型Maven项目创建默认空,它将基于J2SE-1.5 我将手动更改构建路径条目和代码遵从性 为什么? 如何使其成为其他?它与的源和目标设置一致,默认为1.5 如果更改它们,生成的项目也将使用不同版本的: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifact

如果我在
Eclipse
中基于无原型
Maven
项目创建默认空,它将基于
J2SE-1.5

我将手动更改构建路径条目和代码遵从性

为什么?


如何使其成为其他?

它与的
目标
设置一致,默认为
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>

org.apache.maven.plugins
maven编译器插件
3.1
1.7
1.7

请注意,如果在不更改
maven编译器插件设置的情况下更改Eclipse项目的符合性设置,则maven版本将与Eclipse环境不一致。

@axtavt是正确的,请将源代码级配置添加到项目中。但不要配置
maven编译器插件
,只需将此属性放入
pom.xml

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

1.7
1.7

在Eclipse中刷新maven配置之后。

如果要确保Eclipse中新创建的项目使用java 1.5以外的其他默认java版本,可以在maven编译器插件中更改配置

  • 转到文件夹.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版本


信息来自以下博文:

检查您已安装的JRE,以及在Windows>首选项下配置的JRE maven。上面链接中的@Taylor可能重复(接受的答案)您似乎不正确:“m2eclipse插件不使用Eclipse默认值,m2eclipse插件从POM派生设置。”@行如果OP基于Eclipse中没有原型Maven项目创建默认的
默认为空,那么就没有pom。@Taylor,但它是cretaed。默认值(现在已经)指向1.6,定义如下:。将设置放入
pom.xml
是没有意义的
pom.xml
仅在项目已经创建并且Java1.5已经设置之后出现。我不会转到
pom.xml
,因为我只会转到
构建路径
配置并在那里更改java版本。我需要一些预设配置,以便新文件将基于java 7,即在创建project
pom.xml
之前。您的设置在
MYMAVEN/conf/settings.xml
文件中工作,虽然我不知道是否有可能将插件代码@axtavt放入其中,但我建议将此属性放入
pom.xml
并从Eclipse重新导入maven项目。因此,您建议(1)创建Eclipse项目,(2)编辑
pom.xml
,(3)重新导入?这是三个步骤。我想要一个:(1)创建Eclipse项目。所以它已经是1.7Hmm了。。。我的问题肯定是关于Eclipse的,并对其进行了适当的标记。如果您的Eclipse项目已经生成,请在添加后单击更新项目。