9

「src」と「test」という 2 つのソース フォルダーを持つ Eclipse プロジェクトがあります。これらの両方のフォルダーからのビルドを別々の出力フォルダーに入れたいと思います。

その理由は、これらのフォルダーの両方に ServiceProviders.properties という名前のプロパティ ファイルがあり、コードの本番用とテスト用の値が異なるためです。

問題は、コンパイルされたすべてのクラスがコピーされる出力フォルダーが 1 つしかないため、'test' のプロパティ ファイルがコピーされず、その結果、テスト コードがプロパティ ファイルの運用バージョンを取得することです。Maven でさまざまなクラスパス (およびそれらの検索順序) を使用できる方法をシミュレートしようとしていると思います。

これが機能しない場合は、JVM プロパティを使用して、テスト ケースで使用できる特定の値を指定します。ただし、エレガントなソリューションとは思えません。

Maven を使用するとこれが機能しますが、このプロジェクトでは Maven を使用できません。

更新 1:

両方の答えをありがとう。それらは同一であったため、以前に投稿されたものを受け入れました。

アップデート 2:

対応するソース フォルダーに対して複数の出力フォルダーを取得できましたが、テスト ケースを実行するときに test から ServiceProviders.properties をロードし、サーバーでアプリを実行するときに src から ServiceProviders.properties をロードするという元の問題は解決しませんでした。日食。私がそれを機能させる方法は、テストフォルダーから ServiceProviders.properties ファイルを含む別の jar ファイルを作成することです。テスト ケースの実行構成で、この jar ファイルを追加して順序を変更し、ルックアップの最初の依存関係として表示されるようにします。

4

3 に答える 3

13

はい、できます。確認したところです。プロジェクトのプロパティに移動し、別のソースフォルダーを選択するJavaビルドパスに移動すると、「ソースフォルダーの出力フォルダーを許可する」というオプションもあり、チェックすると編集可能な出力フォルダーが追加されますソースフォルダーごとに。それを選択して編集ボタンをクリックするだけで問題ありません

于 2012-04-16T12:48:13.630 に答える
7

簡単: Java ビルド パスで [ソース フォルダーの出力フォルダーを許可する] をクリックします。ソースタブ。次に、各フォルダーの設定を展開すると、「出力フォルダー」が表示されます

于 2012-04-16T12:47:10.107 に答える
0

PackageExplorer ビューでソース フォルダーをクリックし、[Configure Output Folder...] を選択します。ソース フォルダーごとに個別に出力フォルダーを構成できるようになりました。

于 2013-10-01T13:48:39.813 に答える