저는 다중 모듈 프로젝트를 가지고 있습니다. 현재이 aspect는 "핵심"프로젝트에 추가됩니다. 여기 mvn clean install
일 때 그것은 작동합니다. 그러나 부모 프로젝트에 mvn clean install
을하려고 그것은 다른 프로젝트 중 하나를 컴파일이 오류와 함께 실패합니다Javac 대신 AspectJ 컴파일러를 사용할 때 컴파일하는 동안 오류가 발생했습니다.
타입 org.hibernate.annotations.CacheConcurrencyStrategy가 해결 될 수 없다. 필수 .class 파일에서 간접적으로 참조됩니다.
해당 프로젝트에 Hibernate 핵심 종속성을 추가해도 작동하지만 종속성이 없어야하는 프로젝트에 종속성을 추가하는 것이 의미가 없습니다. 해결책. javac
으로 컴파일하면 정상적으로 작동합니다.
이유가 무엇입니까? AspectJ 컴파일러를 사용해서는 안되는 프로젝트에 종속성을 누출시키지 않고 어떻게 사용할 수 있습니까? 난 그냥 발견
<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>
업데이트 :
나는 부모 POM에서이 구성을 가지고있다. 항상 mvn clean install
을 실행하면 실패합니다. 그러나 mvn [clean] install
을 한 번 실행하면 실패합니다. 그런 다음 mvn install
을 clean
없이 실행하십시오. 대상 폴더의 builddef.lst
이 작동하고 깨끗하게 실행되는지 여부에 따라 작동하는 이유입니다. 이제 제 질문은 : 어떻게 자동으로이 파일을 생성합니까?
부모 POM 파일 :
<?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>
예외의 스택 추적은 무엇이며 aspect는 어떻게 생겼을까요? – SpaceTrucker
@KnightRider 의견을 추가하는 대신 질문을 업데이트해야합니다. –
@ LeonardBrünings 완료. –