2010-08-20 4 views
8

Sto cercando di compilare un progetto Maven, il codice sorgente utilizza Generics e altri featuers di Java 1.5, causando in tal modo la mia costruzione di fallireCome posso forzare Maven per confezionare il mio progetto contro 1.5?

Nel mio POM.xml Ho configurato la configurazione di generazione contro 1,5 per le proprietà origine e di destinazione , ma questo non risolve il mio problema

È il mio POM.xml corretto, o mi sto perdendo qualcosa?

Grazie

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

uscita quando attemtping per costruire

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

risposta

16

Si è configurato il gruppo-plugin con un po ' informazioni su sorgente/destinazione ma per configurare la compilazione è necessario configurare lo compiler-plugin nel modo corretto.

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

Aggiornamento: Questo dovrebbe essere combinato con Maven-enforcer-plugin per forzare molto usare del JDK 1.5 anziché soltanto utilizzando l'opzione origine/destinazione del javac.

24

è necessario impostare alcune proprietà di compilare 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

questo non configurare il plugin compilatore. Definirà solo alcune proprietà. – khmarbaise

+7

Alcune proprietà utilizzate dal plugin compilatore: http://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html#source –

+0

Questo è bello, non ho mai pensato, anche se dovrebbe essere ovvio . +1 –

Problemi correlati