AspectJ Maven Plugin ne peut pas compiler mon projet
J'essaie d'utiliser aspectj plugin maven pour compiler le projet avec le compilateur aspectj et puis j'ai essayer de regrouper les classes en "guerre" du fichier. Malheureusement, il ne fonctionne pas avec la configuration suivante (pom.xml):
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.17</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
<plugin>
<groupId>com.liferay.maven.plugins</groupId>
<artifactId>liferay-maven-plugin</artifactId>
<version>${liferay.maven.plugin.version}</version>
<executions>
<execution>
<phase>generate-sources</phase>
</execution>
</executions>
<configuration>
<autoDeployDir>${liferay.auto.deploy.dir}</autoDeployDir>
<appServerDeployDir>${liferay.app.server.deploy.dir}</appServerDeployDir>
<appServerLibGlobalDir>${liferay.app.server.lib.global.dir}</appServerLibGlobalDir>
<appServerPortalDir>${liferay.app.server.portal.dir}</appServerPortalDir>
<liferayVersion>${liferay.version}</liferayVersion>
<pluginType>portlet</pluginType>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5</version>
<configuration>
<encoding>UTF-8</encoding>
<source>1.7</source>
<target>1.7</target>
<showWarnings>true</showWarnings>
<failOnError>true</failOnError>
</configuration>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.7</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<compilationLevel>1.7</compilationLevel>
<encoding>UTF-8</encoding>
</configuration>
<executions>
<execution>
<phase>process-sources</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.7.4</version>
<type>jar</type>
</dependency>
Après mvn clean install
je vois exceptions suivantes:
[INFO] --- aspectj-maven-plugin:1.7:compile (default) @ tvbs-portlet ---
[INFO] Showing AJC message detail for messages of types: [error, warning, fail]
[ERROR] Missing message: configure.incompatibleComplianceForSource in: org.aspectj.ajdt.ajc.messages
<unknown source file>:<no line information>
[ERROR] no sources specified
<unknown source file>:<no line information>
[ERROR] AspectJ Compiler 1.8.2
Usage: <options> <source file | @argfile>..
AspectJ-specific options:
-inpath <list> use classes in dirs and jars/zips in <list> as source
Quelqu'un pourrait-il me suggérer une solution?
source d'informationauteur dmitrievanthony | 2014-11-11
Vous devez vous connecter pour publier un commentaire.
Mise à jour: Alors que les choses que j'ai dit sur AspectJ de configuration de Maven dans cette réponse sont tout à fait correct, la cause racine du problème concret à la main les mauvaises Maven de gestion de la dépendance, est décrit dans mon autre réponse. Il serait mieux si celui-ci a été la réponse et pas celui-ci.
<compilationLevel>
tag (faute de frappe?) - pour<complianceLevel>
.<execution>
section, l'un au plugin niveau est suffisant.Il semble comme un problème connu http://jira.codehaus.org/browse/MASPECTJ-125
Vous pouvez résoudre le problème en ajoutant les lignes suivantes à votre fichier pom.
Avoir regardé votre projet Maven https://github.com/dmitrievanthony/test-aspectj j'ai trouvé que
Voici une capture d'écran (full size ici) à partir de IntelliJ IDEA "trouver de la classe":
Comme vous pouvez le voir, la classe
LockModeType
est constaté dans les 3 (trois!) dépendances, dont l'une contient une version de la classe qui ne contient pas attendu les valeurs de l'enum. Votre code compile si vous supprimez cette dépendance.Peut-être que vous devriez nettoyer vos dépendances. Vous pouvez utiliser le Plugin Maven de gestion des Dépendances avec des objectifs comme
dependency:analyze
etdependency:tree
à cette fin.Il aura du travail après le changement de configuration du plugin à la suite:
Mais après cela, je reçois beaucoup de différentes erreurs de compilation:
Peut causer est incorrect aspectj paramètres du plugin?
assurez-vous que les modules a le code source,comme *.java, etc.
quand je compile CAS sur la version 4.0.6 ça se passe de cette erreur, j'ai trouvé le cas-server-uber-webapp ne possède aucune code source dans le dossier src. il suffit de retirer le module de parent pom.xml.