繁体   English   中英

在Maven中使用Java编译版本

[英]Using java compile version with maven

我有一段代码已经用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和path设置为java 1.6吗,否则插件将使用正确的工件(可能通过下载)来为java 1.6编译?

问候..

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

如果您确实想重新编译,则任何一种组合都应该起作用。 实际上,它们在所有意图和目的上都是相同的,因为Java 1.5和1.6之间的语言没有相关更改。 但是,在Java 1.6上编译和运行单元测试很有价值……以防万一某些库更改导致您的代码在较新的平台上失败。

始终在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>

您应该在JAVA_HOME中使用Java 1.6,并且如果将target / source与1.5一起使用,则插件应运行,而应该在1.6中运行。 除非您使用的是Java 1.6中的特定功能(例如String.isEmpty())...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM