我有一个maven项目。在pom.xml
文件中,陈述如下:
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
...
</plugins>
</build>
...
AFAIK这是正确的,它应该针对JDK 7
构建。
我运行基于Debian的Linux dist,当我执行mvn clean install
时,它似乎总是依赖于我在我的操作系统中设置的javac版本。
我已经尝试了解插件的确切内容https://maven.apache.org/plugins/maven-compiler-plugin/,但它并没有真正说明如何。
一个例子是我在我的操作系统上运行javac 8
。当我调用mvn clean install
时,项目会根据JDK 8
中的JDK 7
而不是pom.xml
进行编译。这是为什么?
答案 0 :(得分:2)
默认情况下,maven-compiler-plugin使用%JAVA_HOME%/ bin / javac进行编译,除非:
答案 1 :(得分:0)
源和目标设置只是作为参数传递给javac编译器。使用机器上安装的javac。