使用java编译版与maven

时间:2011-12-11 11:48:00

标签: java maven-plugin maven-compiler-plugin

我有一段用java 1.5版编译的代码(源代码和目标在maven编译插件上都设置为1.5)

<source>1.5</source>
<target>1.5</target>

我现在要做的是为应用程序编译它们(源代码是主应用程序的插件),它已升级到java版本1.6

在这种情况下;

我是否需要使用带参数的编译插件;

<source>1.5</source>
<target>1.6</target>

<source>1.6</source>
<target>1.6</target>

加;我是否需要设置java home和java 1.6的路径,或者插件将使用正确的工件(可能是通过下载)来编译java 1.6 ??

问候..

3 个答案:

答案 0 :(得分:1)

首先,您不必在Java 1.6上重新编译。使用Java 1.5编译的Maven工件在Java 1.6平台上运行的Java 1.6应用程序使用时可能会正常工作。

如果您确实想重新编译,那么任何一种组合都应该有效。实际上,由于Java 1.5和1.6之间的语言没有相关的变化,因此它们的目的和目的完全相同。但是,在Java 1.6上编译和运行单元测试是有价值的...以防万一库更改导致您的代码在较新的平台上失败。

答案 1 :(得分:0)

您应该在JAVA_HOME中使用Java 1.6,如果您使用1.5的目标/源,则应该运行您的插件,这应该与1.6一起运行。除非您使用Java 1.6中的特定内容(例如String.isEmpty())...

答案 2 :(得分:0)

始终在pom.xml文件中设置源和目标

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>