Java linux上的maven编译器插件坏了?

Java linux上的maven编译器插件坏了?,java,linux,maven,Java,Linux,Maven,我有一个maven项目。在pom.xml文件中说明了以下内容: ... <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version&

我有一个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>
...
。。。
org.apache.maven.plugins
,但它并没有真正说明如何


例如,我的操作系统上运行了
javac8
。当我调用
mvn clean install
时,项目根据
JDK 8
而不是
JDK 7
进行编译,如
pom.xml
中所述。这是为什么?

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

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

默认情况下,maven编译器插件使用%JAVA\u HOME%/bin/javac进行编译,除非:

  • 将可执行参数设置到其他位置
  • 您使用了,这似乎符合您的需求,即Maven的Java运行时与Maven编译器插件的JDK不同

默认情况下,maven编译器插件使用%JAVA\u HOME%/bin/javac进行编译,除非:

  • 将可执行参数设置到其他位置
  • 您使用了,这似乎符合您的需求,即Maven的Java运行时与Maven编译器插件的JDK不同

我还安装了多个javac。那么,除了说明javac应该使用什么版本之外,插件的目的是什么呢?java8可以编译java7格式的源代码并生成java7格式的类。从某种程度上说,这很好。我也安装了多个javac。那么,除了说明javac应该使用什么版本之外,插件的目的是什么呢?java8可以编译java7格式的源代码并生成java7格式的类。从某种程度上说,这很好。啊,谢谢。我想我误解了源和目标的实际功能。啊,谢谢。我想我误解了源和目标的实际作用。