我是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
答案 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>