4

私はEclipse(Indigo)でMavenプロジェクトを使用しています。

承認されたライブラリ(webservices-api.jar)を必要とするいくつかのクラスをコンパイルするために、「プロパティ/Javaビルドパス/注文とエクスポート」に移動し、「JREシステムライブラリ」の前に「MavenDependecies」を移動します。

問題は、「Maven / Update Project configuration」オプションをクリックすると、エントリが再配置され、「JRE System Library」が常に最初のエントリになり、コードがコンパイルされなくなることです。

M2Eに私の選択を記憶させ、ライブラリの再配置を停止させる方法はありますか?

前もって感謝します

4

2 に答える 2

1

私が実装することになった解決策は、antターゲットに.classpathファイルの置換を実行させて、クラスパスコンテナを交換することです。そのターゲットを呼び出すantビルダーをプロジェクトに追加し、Javaコンパイラーの前にプロジェクトを更新します。少し複雑ですが、それは魅力のように機能します。

于 2011-10-19T13:40:24.860 に答える
1

webservices-api.jarが標準のJREの一部のクラスをオーバーライドすることを理解していますよね?

私が見る唯一の方法は、jarをに移動しJRE\lib\ext、Mavenでこの依存関係をとしてマークすることsystemです。Mavenはこのアーティファクトをターゲットにパックするのをやめ、それを処理するのはあなたの責任になるため、これは良い解決策ではありません。これは機能する可能性がありますが、私は試したことがないので、JREライブラリを正しくオーバーライドできるかどうかはわかりません。

m2eに関しては、Eclipseプロジェクト設定の制御を引き継ぐため、構成を更新しない限り、手動で調整することをお勧めします。

于 2011-10-18T17:37:52.057 に答える