2009-05-25 16 views
4

J'ai réussi à créer ma structure de projet en utilisant maven2. mais quand je suis compiler mon projet à l'aide mvn install obtenir erreur génériques ne sont pas pris en charge dans -source 1.3projet de compilation avec jdk1.5 en utilisant maven2

googlé pour construire mon projet en utilisant jdk1.5 et construire ajouté tag

<project> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.myProject</groupId> 
    <artifactId>project</artifactId> 
    <packaging>jar</packaging> 
    <version>1.0-SNAPSHOT</version> 
    <name>myapp</name> 
    <url>http://maven.apache.org</url> 
    <dependencies> 
    <dependency> 
    <groupId>junit</groupId> 
    <artifactId>junit</artifactId> 
    <version>3.8.1</version> 
    <scope>test</scope> 
    </dependency> 
    </dependencies> 
    <build> 
    <plugins> 
     <plugin> 
      <groupId>com.myProject</groupId> 
      <artifactId>project</artifactId> 
      <configuration> 
       <source>1.5</source> 
       <target>1.5</target> 
      </configuration> 
     </plugin> 
    <plugins> 
    </build> 
</project> 

mais ce n'est pas travail.

Des indices?

Répondre

4

Ajouter le maven-plugin-compilateur à votre build:

<build> 
    <plugins> 
    <plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>2.0.2</version> 
    <configuration> 
     <source>1.5</source> 
     <target>1.5</target> 
    </configuration> 
    </plugin> 
    </plugins> 
</build> 
+0

C'est ce que je fais, aussi. Mais est-ce vraiment le moyen le plus facile? Je pensais que Maven était tout à propos de "convention sur la configuration", mais tout le monde doit utiliser ce paramètre (non intuitif) ces jours-ci. Vont-ils changer la valeur par défaut un jour (peut-être avec Maven 3)? – Thilo

0

Il existe un moyen d'y arriver « plus facile », sans avoir à coller le même extrait sur tous vos modules. Vous pouvez configurer un réacteur, puis vous y référer à tous les autres modules, comme celui-ci:

<parent> 
    <groupId>com.foo.bar</groupId> 
    <artifactId>reactor</artifactId>  
    <version>1.0-SNAPSHOT</version> 
    </parent> 

Dans le fichier pom de votre réacteur, vous devez mettre ceci:

<packaging>pom</packaging> 

Pour laisser maven savent que ce n'est pas un pot/guerre, etc.

it helps