L'ajout d'AspectJ pour pom.xml changé de version de Java avec Maven, pourquoi?
Mise à JOUR: voici mon maven-compiler-plugin de configuration:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
Je travail sur un multi-projet d'application que je construis avec Maven. Nous avons décidé d'ajouter AspectJ donc j'ai ajouté le code suivant à pom.xml
dans le haut niveau du projet: (à partir de la documentation officielle)
<project>
...
<dependencies>
...
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.7.3</version>
</dependency>
...
</dependencies>
...
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<goals>
<goal>compile</goal> <!-- use this goal to weave all your main classes -->
<goal>test-compile</goal> <!-- use this goal to weave all your test classes -->
</goals>
</execution>
</executions>
</plugin>
...
</plugins>
<build>
...
</project>
et la suite de fragments de chaque subordonné projets:
</project>
...
<build>
....
<plugins>
...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<dependencies>
...
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
</dependency>
....
</dependencies>
...
</project>
En quelque sorte cette modification a remplacé la version de Java que j'utilise. Si je lance build je obtenir plusieurs erreurs de ce type:
Erreur de syntaxe, les annotations ne sont disponibles que si au niveau de la source est de 1,5 ou plus
Qui me donne le soupçon que ma version de Java (à l'origine 1.6) a été en quelque sorte revenue à 1.4. Je n'ai rien - du moins pas consciemment - qui pourraient influer sur la version de Java, donc je pense que le ci-dessus mentionné AspectJ le code associé est responsable de la modification.
Ma question est comment peut AspectJ changer la version de Java et que dois-je faire pour résoudre ce problème. Ou ai-je mal comprendre quelque chose de complètement et je suis sur la mauvaise voie?
OriginalL'auteur Sanyifejű | 2014-02-04
Vous devez vous connecter pour publier un commentaire.
Je pense que le problème est avec la valeur par défaut source, cible et complianceLevel paramètres de la aspectj-maven-plugin (selon la documentation liée précédemment, 1.4, 1.2 et 1.4, respectivement). Vous devez définir ces explicitement dans votre pom parent:
Il semble que vous avez touché cette question: jira.codehaus.org/browse/MASPECTJ-125 Adjonction d'un paramètre de configuration dans votre pom devrait (on l'espère) à résoudre le problème:
<complianceLevel>1.6</complianceLevel>
Je ne sais pas encore si il a résolu "tous" mon problème ou pas, mais la construction complète et pour que vous méritez certainement votre réponse pour être accepté.Je vous remercie.
Juste pour préciser, il me semble que ceux qui ont réellement besoin d'être le même, si vous avez utilisé une propriété pour la compilation du plugin, par exemple "projet.construire.targetJdk" ou quelque chose comme ça, je vous recommande d'utiliser cette propriété dans ici dans trois endroits trop, par exemple, ${projet.construire.targetJdk}
OriginalL'auteur DB5
J'ai été absent
dans mon pom.xml
OriginalL'auteur Oscar H
Si vous n'avez pas de définir la version du compilateur plugin suppose que votre source Java est conforme à Java 1.3 et que vous ciblez une JVM Java 1.1.
Peut-être, vous devez définir:
http://maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-source-and-target.html
OriginalL'auteur Cristina Galán
Vous pouvez trouver les dernières versions de dépendance au et plugin pour aspectj.
OriginalL'auteur egemen
J'ai été absent de la version de java avec la version du jdk sur le haut de ma pom propriétés.
et du haut de mon pom.xml j'avais mis du jdk.version propriété comme,
OriginalL'auteur Lucky