注釈処理が初めてで、Mavenで自動化しようとしています。私は自分のpom.xmlでこれを入れている:Maven注釈処理プロセッサが見つかりません
<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>
問題は、私はMavenのは、プロセッサを見つけることができないので、私はCompilationFailureExceptionを取得するプロジェクトをビルドしようとするということです。
このような他の質問が見つかったので、プラグインの外に依存関係を置くことで解決しました。私はそれを試みたが、何も私のために変わった。
何か不足していますか?
ありがとうございます。ここで
EDIT
は、プロセッサと注釈の両方が含まれている別のプロジェクトで私の依存関係です:
<dependencies>
<dependency>
<groupId>co.aurasphere</groupId>
<artifactId>revolver-annotation-processor</artifactId>
<version>0.0.3-SNAPSHOT</version>
</dependency>
</dependencies>
EDIT 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>
EDIT 3
Hereの出力は、きれいなプロセッサプロジェクトにインストールします。残念ながらアウトプットが長すぎて、それが良くないと分かっていても外部リンクを投稿しなければなりませんでした。 と:ここでは4
EDITは、私の依存関係の階層のいくつかのスクリーンショットです。
プロジェクトはもともとはEclipseの単純なJavaプロジェクトとして作成されてからMavenに変換されていたので、新しいMavenプロジェクトを作成して、問題をEclipseプラグイン何かを混乱させたが、エラーはまだそこにあった。
依存関係をどのように定義したのかを 'co.aurasphere.revolver ...'パッケージに投稿してください。彼らは**あなたがコンパイルしようとしているプロジェクトの中にはありません**、そうですか? – ppeterka
注釈プロセッサ*を使用するプロジェクトを構築する前に注釈プロセッサ*を構築する必要があります。 – chrylis
注釈とプロセッサーはOPのようにインポートされた別のプロジェクトにあります(私はそれを編集しました)。私は以前にそのプロセスを構築していました。私はプロジェクトとしてeclipseのMaven Dependenciesの下でインポートを見ます(jar、IDKではなく...)。プロセッサプロジェクトは jar –
Aurasphere