如何在maven中设置jdk的自定义版本?

时间:2016-02-15 02:37:29

标签: java xml windows maven netbeans

我是Maven的新手。

我在Windows中工作,当我尝试在包含pom.xml文件的文件夹中执行下一条说明mvn clean install时,它会抛出这样的错误:

CLASS_NAME.java error: diamond operator is not supported in -source 1.5
[ERROR] (use -source 7 or higher to enable diamond operator) 

正如我从消息中可以理解的那样,因为maven使用jdk 1.5版(实际上我甚至没有安装它)。在maven设置文件夹中,我找到了toolchains.xml文件。如果我理解正确,可以使用此文件为用户设置jdk的自定义版本。所以我将此代码添加到我的pom.xml文件

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-toolchains-plugin</artifactId>
    <version>1.1</version>
    <configuration>
        <toolchains>
            <jdk>
                <version>[1.8]</version>
            </jdk>
        </toolchains>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>toolchain</goal>
            </goals>
        </execution>
    </executions>
</plugin>

这是toolchains.xml

<toolchain>
    <type>jdk</type>
    <provides>
        <version>1.8</version>
        <vendor>sun</vendor>
    </provides>
    <configuration>
        <jdkHome>C:/Program Files/Java/jdk1.8.0_45</jdkHome>
    </configuration>
</toolchain>

如果有人知道你能告诉我如何解决这个问题吗?我将不胜感激任何帮助,想法或解释。

P.S。 JAVA_HOME是C:\ Program Files \ Java \ jdk1.8.0_45

1 个答案:

答案 0 :(得分:0)

尝试在maven-compiler-plugin中配置maven-toolchains-plugin而不是pom.xml

<project>
  [...]
  <build>
    [...]
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.5.1</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
    [...]
  </build>
  [...]
</project>

Source