2015-10-07 52 views
1

我是一个新的“mavenist”... :-)在eclipse maven项目中设置jdk版本

我使用Eclipse Mars。

我创建了一个默认的maven项目,默认情况下它使用JDK 1.5。 我想用1.8.31代替。

我现在的POM显示以下内容:

<plugin> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>3.1</version> 
    <executions> 
     <execution> 
     <id>default-compile</id> 
     <phase>compile</phase> 
     <goals> 
      <goal>compile</goal> 
     </goals> 
     </execution> 
     <execution> 
     <id>default-testCompile</id> 
     <phase>test-compile</phase> 
     <goals> 
      <goal>testCompile</goal> 
     </goals> 
     </execution> 
    </executions> 
    </plugin> 

On apache maven website我读,我需要改变\它替换到这样的事情:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>3.3</version> 
    <configuration> 
     <verbose>true</verbose> 
     <fork>true</fork> 
     <executable><!-- path-to-javac --></executable> 
     <compilerVersion>1.8.31</compilerVersion> 
    </configuration> 
    </plugin> 
  1. 这是正确的代码,把?
  2. 它应该替换当前的代码,还是应该将其添加到xml?

谢谢!

回答

2

这应该足够了,取自我最近的项目。

<plugin> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <configuration> 
     <source>1.8</source> 
     <target>1.8</target> 
    </configuration> 
</plugin> 
+0

你可以有

3

您在正确的轨道上,但只是覆盖您需要的选项。

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

重复冗长,叉,可执行等不需要

+0

也许一个明显的问题 - 它应该取代当前的代码,对吧? – dushkin

+0

实际上,由maven生成的默认pom根本不配置此插件。所以,如果你知道为什么块被添加(并且它用于某种目的),请保留它。否则,您可以替换完整的块。 –

+0

pom.xml选项卡显示一个非常小的XML文件,该文件不包含任何插件。我从“有效的pom”标签版本中获得了它。 – dushkin