我在pom.xml中为maven-compiler-plugin配置了以下配置。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
jdk的源版本和目标版本应该是什么?它取决于我的电脑上安装的jdk的版本?愿他们与众不同吗?例如安装的jdk是1.8,在源参数 - 1.6,目标 - 1.7。
答案 0 :(得分:10)
对于源/目标,您只需定义javac
的开关,这意味着生成兼容的代码。例如,如果您已经安装了jdk 8并且想要创建java 7可运行的类。
但它不会检查您是否安装了JDK 8。如果安装了JDK 7,这也可以。
如果您确实需要检查已安装的JDK版本,则必须通过maven-enforcer-plugin检查已安装的JDK ...
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<id>enforce-java</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireJavaVersion>
<version>1.8.0</version>
</requireJavaVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
[...]
</project>
有了上述内容,您将无法再使用JDK 7构建...仅使用JDK 8 ...
BTW:你为什么要使用这么老的maven-compiler-plugin版本?