2010-08-20 20 views
8

estoy tratando de compilar un proyecto Maven, el código fuente utiliza medicamentos genéricos y otros featuers de Java 1.5, lo que provoca mi construcción falle¿Cómo puedo forzar a maven a empaquetar mi proyecto en 1.5?

En mi POM.xml He configurado la configuración de generación frente a 1,5 para las propiedades de origen y de destino , pero esto no resuelve mi problema

¿Es correcto mi POM.xml o me falta algo?

Gracias

<?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> 

Salida cuando attemtping para construir

generics are not supported in -1.3 (use -source 5 or higher to enable generics) 

Respuesta

16

configuró el montaje plugin con algunos información sobre el origen/destino pero para configurar la compilación que necesita para configurar el compiler-plugin de la manera correcta.

<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> 

Actualización: Esto debería combinarse con Maven-ejecutor-plugin para forzar realmente el uso de JDK 1.5 en lugar de sólo utilizar la opción de origen/destino de la javac.

24

Se tienen que establecer algunas propiedades para compilar con 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

Esto no configurará el complemento del compilador. Definirá algunas propiedades solamente. – khmarbaise

+7

Algunas propiedades utilizadas por el plugin del compilador: http://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html#source –

+0

Esto es bueno, nunca pensé en eso, aunque debería ser obvio . +1 –

Cuestiones relacionadas