Helios/m2Eclipseでは、jaxbソースを生成すると、「プロジェクト構成の更新」を実行したときにEclipseソースパスに配置されていました。
これは、Indigo/m2e(2011年6月22日の初期リリース)では発生しません。これを修正するには何をする必要がありますか?
標準のmaven-jaxb2-pluginバージョン0.75を使用しています。
Eclipseで、「Install New Software」に移動し、ソフトウェアサイトを追加します。 http://bitstrings.github.com/m2e-connectors-p2/releases/
「jaxb2用m2eコネクタ」を選択します
そのプラグインをインストールすると、jaxb2プラグインは新しいバージョンのm2eと正しく統合されます。
この情報は次のとおりです: https://bugs.Eclipse.org/bugs/show_bug.cgi?id=350299
さて、あなたは「target/generate-sources/xjc」を右クリックして、「ビルドパス->ソースフォルダとして使用」のようなものを選択する必要があります
M2eコネクターを機能させることができない場合の代替回避策として、build-helper-maven-pluginを使用して生成されたソースをビルドパスに追加できます。
<build>
...
<plugins>
...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>target/generated-sources/xmlbeans</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
...
</plugins>
...
</build>
この問題の修正を待っている間、私は次の一時的な回避策を使用しています。
別のmavenモジュールにjaxb-pluginと生成されたクラスがあります。 Eclipseでは、そのモジュールでのみ「Mavenの性質を無効にする」ことができます。次に、大規模なMavenプロジェクトの残りの部分でm2EclipseでIndigoを使用できます。これは、jaxbモジュールのjarに依存します(コマンドラインからビルドする必要があります)。私たちのプロジェクトはすでにこのように編成されているので、これは私にとってうまく機能します。
Maven-jaxb2-pluginとEclipseにソースが添付されていないことに苦しんでいる人のために。作成者が SunからGlassfish JAXBアーティファクト に切り替え、依存関係ツリーが変更されました。以前は、推移的なものなしでjaxb-xjc
にシェーディングされた多くのJAR。現在、これは削除されており、以前のtools.jar
への推移的な依存関係はEclipseの実行を中断します。 JDK VMでEclipseを起動すると、動作します(最新のMaven 3.3.9、Maven JAXB2プラグイン0.13.1、最新のm2eJAXB2コネクタおよびEclipseMars.2をテスト済み)