我正在尝试编译maven项目,源代码使用Generics和Java 1.5的其他特性,从而导致我的构建失败
在我的POM.xml
我为源和目标属性配置了针对1.5的构建配置,但这并没有解决我的问题
我的POM.xml
是正确的,还是我遗失了什么?
由于
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<name>MyClass</name>
<groupId>uk.co.mydomain</groupId>
<artifactId>MyClass</artifactId>
<version>1.0</version>
<build>
<finalName>MyClass</finalName>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
<descriptors>
<descriptor>src/main/resources/dist.xml</descriptor>
</descriptors>
<archive>
<manifestFile>src/main/resources/META-INF/MANIFEST.MF</manifestFile>
</archive>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>sun-repo-2</id>
<url>http://download.java.net/maven/2/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
</project>
attentping to build
时的输出generics are not supported in -1.3 (use -source 5 or higher to enable generics)
答案 0 :(得分:25)
您必须设置一些使用java 1.5
编译的属性<properties>
<!-- maven-compiler-plugin configuration -->
<maven.compiler.source>1.5</maven.compiler.source>
<maven.compiler.target>1.5</maven.compiler.target>
</properties>
答案 1 :(得分:16)
您为assembly-plugin配置了一些有关源/目标的信息,但是要配置您需要以正确方式配置compiler-plugin的编译。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
<强>更新强> 这应该与maven-enforcer-plugin结合使用以强制使用JDK 1.5而不是仅使用javac的source / target选项。