java - maven-compiler-plugin 在 linux 上坏了?

标签 java linux maven

我有一个 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 7pom.xml 中所述.这是为什么?

最佳答案

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

  • 您将可执行参数设置到不同的位置
  • 你使用Toolchains ,这似乎符合您的要求,即 Maven 的 Java 运行时与 maven-compiler-plugin 的 JDK 不同。

关于java - maven-compiler-plugin 在 linux 上坏了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39527237/

相关文章:

windows - 如何自动化这个过程?

Maven 多模块项目 - 将所有 "package"JARS 从子模块复制到父/目标/

java - Swing ComboBox,选择 "none of the below"

python - pexpect 属性错误 : 'module' object has no attribute 'spawn'

java - Netbeans IDE - 如何更改 ANT 脚本的默认运行目标?

c - 在 Linux 中旋转 cpu 1 秒

java - Stanford-CoreNLP 和 Stanford-Parser 中的 Maven 类名冲突

java - 使用不同的相对路径将模块添加到 Maven 多模块项目中

java - Spring - 多个配置文件处于 Activity 状态

java - 确保绘制(paint)的绳子不会离开可见区域?