Java 6アノテーションプロセッサ用のeclipseプロジェクトコンパイラ設定をセットアップするための最良の方法は何ですか?
私の解決策は、org.eclipse.jdt.apt.core.prefs
とfactorypath
ファイルを手動で設定することです。これは少し面倒です:
- factorypathファイルでプロセッサjarを参照します
- でEclipseアノテーションプロセッサの出力ディレクトリ
(org.eclipse.jdt.apt.genSrcDir
プロパティを設定しますorg.eclipse.jdt.apt.core.prefs
) - Eclipseアノテーションプロセッサの出力ディレクトリをソースフォルダとして追加します
1つの問題は、Eclipseで生成されたソースがMavenでコンパイルされることです。maven clean compile
Eclipseで生成されたソースファイルを削除するため、信頼できるのは1つだけです。(Eclipseとjavacで生成されたソースファイルが同期していない可能性があります。)
MavenソースパスでEclipseによって生成されたソースファイルなしでMavenを構成するためのより良い解決策はありますか?
<project>
<properties>
<eclipse.generated.src>${project.build.directory}/eclipse</eclipse.generated.src>
</properties>
<build>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals> <goal>add-source</goal> </goals>
<configuration>
<sources>
<source>${eclipse.generated.src}</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<configuration>
<additionalConfig>
<file> <name>.factorypath</name>
<content><![CDATA[<factorypath>
<factorypathentry kind="VARJAR" id="M2_REPO/processor/processor.jar" enabled="true" runInBatchMode="false"/>
</factorypath>
]]> </content>
</file>
<file>
<name>.settings/org.eclipse.jdt.apt.core.prefs</name>
<content><![CDATA[
eclipse.preferences.version=1
org.eclipse.jdt.apt.aptEnabled=true
org.eclipse.jdt.apt.genSrcDir=${eclipse.generated.src}
org.eclipse.jdt.apt.reconcileEnabled=true
]]> </content>
</file>
</additionalConfig>
</configuration>
</plugin>
</plugins>
</build>
</project>