繁体   English   中英

在Linux上损坏的maven-compiler-plugin?

[英]maven-compiler-plugin broken on linux?

我有一个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而不是pom.xml中所述的JDK 7编译。 为什么是这样?

默认情况下,maven-compiler-plugin使用%JAVA_HOME%/ bin / javac进行编译,除非:

  • 您将可执行参数设置到其他位置
  • 您可以使用Toolchains ,它似乎符合您的要求,即Maven的Java运行时与maven-compiler-plugin的JDK相比有所不同。

源设置和目标设置只是作为参数传递给javac编译器。 使用机器上安装的javac。

暂无
暂无

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

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