コンパイル中にコードを分析し、必要に応じて失敗させる方法として JSR 269 を使用しています。Maven でアノテーション プロセッサの出力を表示する際に問題があります (Ant は出力を表示します) javax.annotation.processing.Messager を使用して警告とエラーを表示していますが、maven では出力が表示されません。(ただし、実行されることはわかっています。コードを生成する必要があるためです)。何か案は?
7216 次
2 に答える
16
Maven のバグ、またはコンパイラ プラグインのバグ ( MCOMPILER-66 )が発生していると思います。注釈処理に関しては、コンパイラ プラグインにはいくつかの問題があります。たとえば、MCOMPILER-62もあります。本当に最良の選択肢は、コンパイラプラグインの注釈処理を無効にして、maven-processor-pluginを使用することです。このブログ投稿では、その使用方法を確認できます。次のようになります。
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
<compilerArgument>-proc:none</compilerArgument>
</configuration>
</plugin>
<plugin>
<groupId>org.bsc.maven</groupId>
<artifactId>maven-processor-plugin</artifactId>
<version>1.3.7</version>
<executions>
<execution>
<id>process</id>
<goals>
<goal>process</goal>
</goals>
<phase>process-sources</phase>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-jpamodelgen</artifactId>
<version>1.1.0.Final</version>
<scope>compile</scope>
</dependency>
</dependencies>
</plugin>
注釈プロセッサの依存関係がプラグインのみに適切にスコープされていることにも注意してください。
于 2012-10-11T11:53:37.113 に答える