2011-10-18 11 views
4

私はEclipse(Indigo)でmavenプロジェクトを扱っています。Eclipse M2E /変更注文とエクスポート

承認されたライブラリ(webservices-api.jar)を必要とするいくつかのクラスをコンパイルするためには、 "JREシステムライブラリ"の前に "Properties/Java Build Path/Order and Export"に行き、 "Maven Dependecies"を移動してください。

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

私の選択肢を覚えてライブラリを再配置する方法はありますか?事前

答えて

1

私が解決を終えたのは、クラスパスコンテナを交換するために.classpathファイルにantターゲットを置き換えることでした。私はそのターゲットを呼び出してJavaコンパイラの前にプロジェクトをリフレッシュするプロジェクトにantビルダーを追加します。少し複雑ですが、それは魅力のように動作します。

+1

次のバージョンのM2E(1.1)では、カスタムクラスパスエントリが保持されます。 – adrianboimvaser

+0

これは私にとって興味深いようです。これを実装する方法のヒント@XmlElementと同じ問題があります。 JAXBではFIELD、METHOD、PARAMETERの間にJava 6を使用する必要があり、この注釈のターゲットはMETHODとTYPEです。 – Betlista

1

おかげで私は右、標準のJREにいくつかのクラスをオーバーライドするWebサービス-api.jarのを理解できますか?

私が見る唯一の方法は、瓶をJRE\lib\extに移動し、この依存関係をMavenにsystemとマークすることです。これは良い解決策ではありません.Mavenはこのアーティファクトをターゲットに詰め込むのを止め、それを処理するのはあなたの責任です。これは、—を動作させる機会を持っていますが、私はそれを試していないことに注意してください、あなたがJREライブラリを正しく上書きするかどうかは分かりません。

m2eでは、Eclipseプロジェクトの設定を制御するため、設定を更新しない限り、手動調整が有効です。

+1

開発者が自分の環境を変更する必要はありません。バージョン管理からチェックアウトされた新鮮なコピーがうまくいくはずです。 – adrianboimvaser

関連する問題