7

Eclipse で m2eclipse Maven サポートを使用したリソース フィルタリングに問題があります。フィルタリングは、変更されたリソースに対してのみ行われるようです。プロパティを参照するファイル (例: ${my.property}) がある場合、プロパティの値が変更された場合、参照ファイルも変更された場合にのみフィルタリングが実行されるため、これには根本的な欠陥があります。プロパティ値 (私の pom.xml 内) では、フィルタリングはそれを参照するファイルには適用されません。

そのため、pom ファイルのプロパティを変更しても、フィルタリングは適用されません。ただし、そのプロパティを参照するファイル (Spring 構成ファイルなど) に移動して編集し、保存すると、フィルタリングが適用されます。

私はどこかでそれを読みました:

「増分ビルド中にリソースの変更がなかった場合、m2eclipse はフィルタリングをスキップします」

私はm2eclipse 0.10.xを使用しています

他の誰かがこれに出くわしましたか?

ありがとう、

アンドリュー

4

2 に答える 2

7

はい、これはこの長い議論で言及されています (トピックはリソースのフィルタリングに関するものではありませんが、現在の動作について言及されています)。

リソース フィルタリングが有効になっている場合、m2eclipse は指定された目標 (デフォルトでは "process-resources resources:testResources") を実行して、Eclipse ビルドの一部としてリソースをプロジェクトの出力フォルダー (target/classes または target-eclipse/classes) にフィルター処理します。インクリメンタル ビルド中にリソースの変更がなかった場合、m2eclipse はフィルタリングをスキップします。

私の理解では、これは設計上の選択でした ( Eugene からの最後のメッセージを参照してください)。

リソース フィルタリングが IDE のパフォーマンスに影響を与える可能性があり、常に必要とは限らないという懸念がありました (たとえば、フィルタリングがビルドに関する一部のものを結果 jar に格納するためにのみ使用される場合)。

そのため、POM を変更した後、プロジェクト構成を更新する必要があります。プロジェクトを右クリックし、 [ Maven] > [プロジェクト構成の更新] を選択します(これにより がトリガーされprocess-resourcesます)。

私の知る限り、これはまだ現状です。ただし、リソースのフィルタリングには多くの問題があります。似たような問題が見つかるかどうかを確認してください。

于 2010-05-05T21:16:42.197 に答える
0

はい、あなたは正しいです。

m2eclipse のバグ トラッカーで問題を開く必要があります。

于 2010-05-05T17:05:14.387 に答える