Ho un progetto multi-modulo. L'aspetto è attualmente aggiunto al progetto "core". Quando si fa un mvn clean install
qui funziona. Tuttavia cercando di fare un mvn clean install
sul progetto padre viene a mancare con questo errore durante la compilazione uno degli altri progetti:Errore durante la compilazione quando si utilizza il compilatore AspectJ invece di Javac
Il tipo org.hibernate.annotations.CacheConcurrencyStrategy non può essere risolto. Si è indirettamente riferimento dal file .class richiesti
Se aggiungo il nucleo di dipendenza Hibernate in quel progetto anche funziona, ma l'aggiunta di dipendenze a progetti che non dovrebbero avere la dipendenza non ha senso - quindi non è una soluzione. Durante la compilazione con javac
funziona correttamente.
Qual è il motivo? E come posso risolvere il problema in modo da poter utilizzare il compilatore AspectJ senza perdite di dipendenza dai progetti che non dovrebbero avere questo?
ho questa configurazione nel POM genitore:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.5</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<complianceLevel>1.6</complianceLevel>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Aggiornamento
ho appena scoperto. L'esecuzione di mvn clean install
non riesce ogni volta. Tuttavia, l'esecuzione di mvn [clean] install
una volta non riesce. Quindi il funzionamento di mvn install
senza clean
funziona. Vedo che il builddef.lst
nella cartella di destinazione è il motivo per cui funziona e non funziona a seconda che si esegua o meno la pulizia. Quindi ora la mia domanda è: come si genera automaticamente questo file?
Parent POM-file:
<?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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany</groupId>
<artifactId>core-lib</artifactId>
<name>core-lib</name>
<packaging>pom</packaging>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.5</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<complianceLevel>1.6</complianceLevel>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.7.4</version>
</dependency>
</dependencies>
<modules>
<module>core-xyz</module>
<module>core-xyz2</module>
</modules>
</project>
Qual è lo stacktrace dell'eccezione e come è il tuo aspetto? – SpaceTrucker
@KnightRider è necessario aggiornare la domanda anziché aggiungere un commento. –
@ LeonardBrünings Fatto. –