Maven编译器插件-source与-target参数不同

时间:2018-04-10 07:08:01

标签: maven

我在邮件pom.xml文件中有以下内容:

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

这是对的吗?请告诉我-source和-target标签的实际用法是什么?

此外,我的要求是&#34;对于maven插件,只需确保它是用Java 7编译的,并且#34;。

1 个答案:

答案 0 :(得分:1)

sourcetarget参数从maven编译器插件传播到SDK中的javac编译器。

源小于目标值得怀疑。正如@khmarbaise在评论中提到的,这意味着您的源代码是编译JDK6但是您需要JVM for Java 1.7。

然而,目标较小比源更有意义。例如

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

应编译JDK 8代码并生成与Java 1.6+ JVM兼容的字节码。虽然我从未尝试过 - 行为甚至可以区分不同的Java语言实现(OpenJDK,OracleJDK,...)