Maven和Java版本设置 - 哪种解决方案更好?

时间:2014-07-03 10:44:31

标签: java eclipse maven

我一直在寻找我的Maven和Eclipse JRE版本问题的解决方案,即使我想要不同的东西,JRE 1.5也会在Eclipse项目中被强制使用。

在我的搜索过程中,我注意到似乎有两种不同的解决方案。第一个解决方案建议使用类似下面的代码段

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

第二种解决方案建议仅使用两个属性:

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

为什么两种可能的解决方案以及它们为何不同?

2 个答案:

答案 0 :(得分:3)

指定它有很长的路要走(通过在pom文件中定义<plugin>配置),这是配置插件的常用方法,并且有使用用户属性的简写。

正如您在文档中找到的那样。

  

Java编译器的-source参数。默认值为:1.5。

     

用户属性是:maven.compiler.source。

如果您只想指定源和目标级别,那么没有区别,但<plugin>配置还允许您指定其他配置设置,限制编译器插件的版本等。

答案 1 :(得分:1)

许多Maven插件允许使用一些属性来指定参数。 maven.compiler.sourcemaven.compiler.target属性由Maven编译器插件指定。

请参阅&#34;用户属性&#34;部分:

http://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html#source

http://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html#target

http://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html