Tôi có một dự án đa mô-đun. Khía cạnh hiện đang được thêm vào dự án "cốt lõi". Khi làm một mvn clean install
ở đây nó hoạt động. Tuy nhiên cố gắng để làm một mvn clean install
về dự án mẹ nó thất bại với lỗi này khi biên dịch một trong những dự án khác:Lỗi khi biên dịch khi sử dụng trình biên dịch AspectJ thay vì Javac
Loại org.hibernate.annotations.CacheConcurrencyStrategy không thể được giải quyết. Nó được tham chiếu gián tiếp từ các tệp được yêu cầu. Các tệp lớp học
Nếu tôi thêm phụ thuộc vào Hibernate vào dự án đó thì nó hoạt động, nhưng thêm phụ thuộc vào các dự án không nên phụ thuộc không có ý nghĩa - vì vậy nó không phải là một giải pháp. Khi biên dịch với javac
nó hoạt động tốt.
Lý do là gì? Và làm thế nào tôi có thể sửa chữa nó để tôi có thể sử dụng trình biên dịch AspectJ mà không bị rò rỉ phụ thuộc vào các dự án mà không nên có điều đó?
tôi có cấu hình này trong POM mẹ:
<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>
Cập nhật
Tôi vừa phát hiện ra. Chạy mvn clean install
không thành công. Tuy nhiên, chạy mvn [clean] install
một lần không thành công. Sau đó chạy mvn install
mà không cần clean
hoạt động. Tôi thấy rằng builddef.lst
trong thư mục đích là lý do tại sao nó hoạt động và không thành công dựa trên việc bạn có chạy sạch hay không. Vì vậy, bây giờ câu hỏi của tôi là: Làm cách nào để bạn tự động tạo tệp này?
Chánh 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>
Stacktrace của ngoại lệ là gì và khía cạnh của bạn trông như thế nào? – SpaceTrucker
@KnightRider bạn nên cập nhật Câu hỏi của mình thay vì thêm nhận xét. –
@ LeonardBrünings Xong. –