maven-compiler-plugin으로 컴파일에서 src / main / java 제외
maven-compiler-plugin에서 소스 루트를 제거하는 방법을 아는 사람이 있습니까?
[DEBUG] Source roots:
[DEBUG] C:\Workspace\Dev01\Internet_Login\src\main\java
[DEBUG] C:\Workspace\Dev01\Internet_Login\target\generated-sources\delombok
C : \ Workspace \ Dev01 \ Internet_Login \ src \ main \ java 에서 lombok-maven-plugin으로 소스를 생성하기 때문에 maven-compiler-plugin은 소스 루트를 모두 사용하고 컴파일 오류가 발생합니다.
컴파일 한 후 Aspectj를 사용하므로 Lombok과 Aspectj가 "호환되지 않기"때문에 이렇게해야합니다.
누구든지 해결책이 있습니까?
편집하다 :
해결책이 있습니다. 빌드에서 sourceDirectory를 정의하면 컴파일러가이 디렉토리를 사용합니다.
<build>
<sourceDirectory>${project.build.directory}/generated-sources/delombok</sourceDirectory>
...
</build>
고마워
답변
제외로 시도 했습니까?
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<excludes>
<exclude>src/main/java/</exclude>
</excludes>
</configuration>
</plugin>
Chrylis가 제안했듯이 src/main/lombok해당 플러그인 을 사용할 때 Lombok 주석이있는 클래스를 배치해야합니다 . 이것은 그것의 사용 페이지 에 명확하게 문서화되어 있습니다 .
또한 롬복 주석이없는 일반 Java 클래스가 .NET에 배치되고 Lombok 대상 이 배치되는 방법을 볼 수 있는 샘플 프로젝트 도 있습니다 .src/main/javasrc/main/lombok
지침을 따르고 Maven Compiler 플러그인과 관련하여 괜찮을 것입니다. AspectJ의 경우 aspect를 짜는 방법 (컴파일 시간, 바이너리 위빙,로드 시간)과 aspect가 동일한 모듈에 있는지 또는 다른 모듈에 있는지 여부에 따라 다릅니다.