当我没有在我的 pom.xml 文件中定义如下内容时,在我的系统上的哪个位置为 Maven 定义了编译时使用哪个版本的 Java JDK(我的系统上安装了多个版本,JAVA_HOME
指向其中之一)?
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
</plugins>
</build>
Maven 文档说
编译器插件用于编译项目的源代码。默认编译器是javac,用于编译Java源代码。另请注意目前,默认源设置为 1.5,默认目标设置为 1.5,与运行 Maven 的 JDK 无关。如果您想更改这些默认值,您应该按照设置中所述设置源和目标-source
and -target
Java 编译器的。
ref: http://maven.apache.org/plugins/maven-compiler-plugin/index.html http://maven.apache.org/plugins/maven-compiler-plugin/index.html
Maven 的 Jira 上有一个有趣的线程将默认源级别更改为 1.5 http://jira.codehaus.org/browse/MCOMPILER-80
EDIT:
Maven 3.0 及更高版本的更新:
编译器插件用于编译项目的源代码。从3.0开始,默认编译器是javax.tools.JavaCompiler(如果您使用的是 java 1.6)并且用于编译 Java 源代码。如果要强制插件使用javac,则必须配置插件选项forceJavacCompilerUse。
Source: http://maven.apache.org/plugins/maven-compiler-plugin/index.html http://maven.apache.org/plugins/maven-compiler-plugin/index.html
Thanks nachteil https://stackoverflow.com/users/2829378/nachteil指出这一点。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)