运行mvn干净安装时,我收到以下消息
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure
D:\data\work\extjs.parser\src\main\java\com\model\Component.java:[17,15] error:
generics are not supported in -source 1.3
could not parse error message: (use -source 5 or higher to enable generics)
D:\data\work\extjs.parser\src\main\java\com\model\Container.java:14: error: gene
rics are not supported in -source 1.3
private List<Component> items;
该项目是简单Maven项目,但是当我已经将JAVA_HOME设置为jdk1.7安装路径时,不会编译并出现泛型错误
然而,当我添加插件时,它工作正常。为什么需要显式设置hava主路径?
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
<showDeprecation>true</showDeprecation>
<showWarnings>true</showWarnings>
<executable>${env.JAVA_HOME}/bin/javac</executable>
<fork>true</fork>
</configuration>
</plugin>
3条答案
按热度按时间vsnjm48y1#
您需要告诉Maven使用JDK 1.5显式编译源代码,在pom.xml文件中声明Maven编译器插件(maven-compiler-plugin),如下所示:
vxqlmq5t2#
-source 1.3中不支持泛型
错误信息非常清楚,您已经告诉编译器在-source1.3模式下编译,在该模式下没有泛型,因此,没有泛型。
zz2j4svz3#
这是个老问题了。等了很长时间之后,我没有得到答案。然而,在浏览maven编译器插件文档时,我发现该插件有默认设置。因此,早期版本使用jdk 1.3作为源/目标的默认设置,而现在使用1.5。例如,在阅读文档n后,运行“mvn clean install -X”观察到,
因此,在pom中未指定“maven-compiler-plugin”及其配置(源/目标)之前会出现错误。