loại trừ src / main / java biên dịch với maven-compiler-plugin
Có ai biết cách xóa mã nguồn khỏi maven-compiler-plugin không?
[DEBUG] Source roots:
[DEBUG] C:\Workspace\Dev01\Internet_Login\src\main\java
[DEBUG] C:\Workspace\Dev01\Internet_Login\target\generated-sources\delombok
Vì tôi tạo nguồn bằng lombok-maven-plugin từ C: \ Workspace \ Dev01 \ Internet_Login \ src \ main \ java nhưng maven-compiler-plugin sử dụng cả Nguồn gốc và tôi gặp lỗi biên dịch.
Sau khi biên dịch, tôi sử dụng Aspectj vì vậy tôi cần làm theo cách này, vì Lombok và Aspectj "không tương thích".
Có ai có một giải pháp.
BIÊN TẬP :
Tôi có một giải pháp. Chỉ cần xác định sourceDirectory trong bản dựng và trình biên dịch sẽ sử dụng thư mục này.
<build>
<sourceDirectory>${project.build.directory}/generated-sources/delombok</sourceDirectory>
...
</build>
Cám ơn
Trả lời
bạn đã thử với loại trừ?
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<excludes>
<exclude>src/main/java/</exclude>
</excludes>
</configuration>
</plugin>
Như Chrylis đã đề xuất, bạn nên đặt bất kỳ lớp nào có chú thích Lombok vào src/main/lombokkhi sử dụng plugin đó. Điều này được ghi rõ ràng trên trang sử dụng của nó .
Ngoài ra còn có một dự án mẫu , nơi bạn có thể xem các lớp Java thuần túy không có chú thích Lombok được đặt như thế nào src/main/javavà các mục tiêu Lombok trong đó src/main/lombok.
Chỉ cần làm theo hướng dẫn và bạn sẽ ổn với plugin Maven Compiler. Đối với AspectJ, nó phụ thuộc vào cách bạn muốn dệt các khía cạnh của mình (thời gian biên dịch, dệt nhị phân, thời gian tải) và liệu các khía cạnh nằm trong cùng một mô-đun hay một mô-đun khác.