215 votes

Ce qui provoque un nouveau projet Maven dans Eclipse d’utiliser Java 1.5 au lieu de Java 1.6 par défaut et comment puis-je m’assurer il doesn ' t ?

J'ai importé un projet Maven et il a utilisé Java 1.5, même si j'ai 1.6 configuré comme mon Eclipse par défaut Preferences->Java->Installed JREs.

Quand j'ai changé le projet Maven à utiliser le JRE 1.6 il avait encore la construction d'erreurs de la gauche de l'époque où le projet a été à l'aide de Java 1.5 (j'ai décrit ces erreurs lors de la génération antérieure: j'ai des erreurs de compilation avec m2eclipse, mais pas avec maven2 sur la ligne de commande est mon m2eclipse mal configuré?)

Je vais supprimer le projet et d'essayer à nouveau, mais je veux être sûr que cette fois qu'il utilise la version 1.6 de Java depuis le début pour voir si cela élimine les problèmes de compilation.

Comment puis-je faire en sorte que le projet utilise la version 1.6 de Java lors de l'importation?

253voto

Pascal Thivent Points 295221

Le plugin m2eclipse ne pas utiliser Eclipse par défaut, le plugin m2eclipse tire les paramètres de la POM. Donc, si vous voulez un projet Maven être configuré pour l'utilisation de Java 1.6 paramètres importés sous Eclipse, configurer l' maven-compiler-plugin de façon appropriée, comme je l'ai déjà suggéré:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>2.1</version>
  <configuration>
    <source>1.6</source>
    <target>1.6</target>
  </configuration>
</plugin>

Si votre projet est déjà importé, la mise à jour de la configuration du projet (clic droit sur le projet puis Maven V mise à Jour de la Configuration du Projet).

29voto

Nicholas Points 4169

Je voulais ajouter quelque chose à la réponse déjà fournie. maven-compiler-plugin par défaut de compiler votre projet à l'aide de Java 1.5, qui est l'endroit où m2e obtenez de l'information.

C'est pourquoi vous devez déclarer explicitement le maven-compiler-plugin dans votre projet avec autre chose que de 1,5. Votre effectif pom.xml sera implicitement utiliser la valeur par défaut définie dans le maven-compiler-plugin pom.xml.

2voto

Gábor Lipták Points 3745

Un motif plus possible si vous utilisez Tycho et Maven pour générer des faisceaux, que vous avez mauvais environnement d’exécution ( ) dans le fichier manifeste ( ) défini. Par exemple :

Dans mon cas, tout le reste était OK. Les plugins de compilateur (maven normal et tycho ainsi) ont été réglées correctement, toujours vieux niveau de conformité m2 générée à cause du manifeste. J’ai pensé que je partage l’expérience.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X