저는 주석 처리가 처음이에요. 메이븐에서 자동화하려고합니다. 내 pom.xml 파일에 넣고했습니다메이븐 주석 처리 프로세서를 찾을 수 없습니다.
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
<configuration>
<annotationProcessors>
<annotationProcessor>
co.aurasphere.revolver.annotation.processor.InjectAnnotationProcessor</annotationProcessor>
<annotationProcessor>
co.aurasphere.revolver.annotation.processor.RevolverContextAnnotationProcessor</annotationProcessor>
</annotationProcessors>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
문제는 내가이 CompilationFailureException를 얻을 프로젝트를 빌드 할 때 메이븐은 프로세서를 찾을 수 있기 때문이다.
나는 플러그인과 관련된 의존성을 푸는 것으로 해결 된 이와 같은 다른 질문을 발견했습니다. 나는 그것을 시도했다. 그러나 나를 위해 아무것도 바뀌지 않았다.
내가 누락 된 항목이 있습니까?
감사합니다.
프로세서와 주석을 모두 포함하는 다른 프로젝트에 내 의존성이다 여기
편집 :
<dependencies>
<dependency>
<groupId>co.aurasphere</groupId>
<artifactId>revolver-annotation-processor</artifactId>
<version>0.0.3-SNAPSHOT</version>
</dependency>
</dependencies>
편집 2 : 추가 조사 후
, 나는하기로 결정 프로세서 JAR (Maven으로 빌드 됨)을 디 컴파일하면 클래스가 없습니다. 어떤 이유로 Maven은 클래스를 JAR로 컴파일하지 않기 때문에 클래스가 발견되지 않습니다. 나는 그 빌드에서 무엇이 잘못되었는지 알아 내려고 시도했다. (이것은 이전에는 결코 일어난 적이 없었고, Maven을 잠시 사용했다 ...).
우선, 해당 프로젝트의 패키지는 jar입니다. 클래스는 모두 src/main/java에 있습니다. pom.xml에서 클래스 경로와 소스 경로가 동일하다는 것을 확인했습니다.
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>co.aurasphere</groupId>
<artifactId>revolver-annotation-processor</artifactId>
<version>0.0.3-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<!-- https://mvnrepository.com/artifact/javax.inject/javax.inject -->
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.velocity/velocity -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<version>1.7</version>
</dependency>
</dependencies>
편집
Here의 메이븐의 출력 (3) 깨끗한 프로세서 프로젝트에 설치 :
다음은 프로세서 치어입니다. 불행히도 출력이 너무 길어서 좋지 않다고 생각 되더라도 외부 링크를 게시해야했습니다. 및
: 여기에 4
EDIT 내 종속 계층 구조의 스크린 샷이다.
원래이 프로젝트는 Eclipse의 간단한 Java 프로젝트로 생성 된 다음 Maven 프로젝트로 변환 되었기 때문에 새로운 Maven 프로젝트를 만들고 새로운 프로젝트로 이클립스 플러그인 문제를 해결하기 위해 모든 것을 옮겼습니다. 뭔가를 엉망으로 만들었지 만 그 오류는 여전히있었습니다.
'co.aurasphere.revolver ...'패키지에 의존성을 정의한 방법을 게시하십시오. 그것들은 ** 당신이 컴파일하려고하는 프로젝트 안 **에 있지 않습니까? – ppeterka
주석 프로세서 *를 사용하는 프로젝트를 빌드하기 전에 주석 프로세서 *를 빌드해야합니다. – chrylis
주석과 프로세서는 OP와 같이 가져온 다른 프로젝트에 있습니다 (편집했습니다). 전에 그 프로세스를 만들었고 프로젝트 (항아리, IDK가 아닌 이유)로 이클립스의 Maven 종속성 아래에서 가져 오기를 봅니다. 프로세서 프로젝트는 jar로 정의되어 있습니다 –
Aurasphere