2010-08-20 14 views
8

Próbuję skompilować projekt maven, kod źródłowy wykorzystuje generycznych i inne featuers Java 1.5, powodując mój build na niepowodzenieJak zmusić mavena do spakowania mojego projektu przeciwko 1,5?

W moim POM.xml mam skonfigurowany konfiguracji kompilacji przed 1,5 do właściwości źródłowych i docelowych , ale to nie rozwiązuje mojego problemu

Czy moja POM.xml jest poprawna, czy też czegoś brakuje?

Dzięki

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

Wyjście gdy attemtping zbudować

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

Odpowiedz

16

skonfigurowano składające wtyczki z niektórymi informacje o źródle/celu, ale aby skonfigurować kompilację musisz skonfigurować compiler-plugin w prawidłowy sposób.

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

Aktualizacja: ten powinien być połączony z maven-plugin-Enforcer zmusić naprawdę korzystania z JDK 1.5, a nie tylko za pomocą opcji źródło/docelową javac.

24

Musisz ustawić pewne właściwości skompilować z 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

Nie skonfiguruje wtyczki kompilatora. Zdefiniuje tylko niektóre właściwości. – khmarbaise

+7

Niektóre właściwości używane przez wtyczkę do kompilatora: http://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html#source –

+0

To jest miłe, nigdy o tym nie myślałem, chociaż powinno być oczywiste . +1 –

Powiązane problemy