我有一段用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 ??
问候..
答案 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>