2

eclipse(indigo)のm2e(1.1.0)がプロジェクト構成を更新すると、リソースフォルダーのエントリが変更されてすべてが除外されます。

<classpathentry excluding="**" kind="src" output="target/classes" path="conf"/>

ただし、テストを正常に実行するには、次のものが必要です。

<classpathentry kind="src" output="target/classes" path="conf"/>

jarからいくつかのリソース(license.fooなど)を除外したいのですが、テストの実行を有効にするには、これらのファイルの多くをeclipseクラスパスに含める必要があります。

この問題を解決するための正しいアプローチは何ですか?

  • 動作を変更するために、pomにorg.eclipse.m2eの設定はありますか?
  • .project / .classpathにテキストを追加して、これを残しておく必要があることをm2eに通知できますか?
  • プロファイルを使用して、jarに格納される内容を変更する必要がありますか?

このクラスの問題にどのように取り組みましたか?(FYIこれはMNGECLIPSE-864に似ています)

ありがとう

ピーター

4

2 に答える 2

3

実行時に必要なリソースを次の場所に配置する必要があります

src/main/resources

とテストにのみ必要なリソース

src/test/resources

これはMaven標準ディレクトリのレイアウトであり、リソースはクラスパス上にあります。

標準のディレクトリがない場合は、Mavenビルドヘルパープラグインを使用して、追加の(テスト)リソースディレクトリを追加する必要があります。

于 2012-07-26T16:20:43.210 に答える
0

この問題が発生した場合は、「なぜEclipseとコマンドラインMavenでリソースを異なる方法で処理する必要があるのか​​」と質問することをお勧めします。

この問題は、不要なアイテム(ライセンスファイルなど)を配送用の瓶に入れないようにしたいという願望から生じたと思います。ただし、FrVaBeがテストリソースについて指摘しているように、このニーズをうまく満たしています。

アセンブリファイルとpomを掘り下げて、それらの間のライバル仕様がconfディレクトリをtarget / classesに移動し、それを無視して、元のソースの場所をpomにインポートしたことを確認しました。私は複雑さを解き、より標準的な方法でリソースを処理するより単純なpomを持っています。

助けてくれてありがとう

ピーター

于 2012-07-29T18:43:48.193 に答える