2009-07-24 13 views
3

私は関連するEARプロジェクトを持つ基本的なWebアプリケーション(eclipseの動的Webプロジェクト)を持っています。私は、私のjunitテストコードがデプロイメントEARファイルのままであることを確認しようとしています。eclipseからEARをエクスポートするときにデプロイされたコードをフィルタリングする方法は?

私のWebプロジェクトでは、 "src"というソースフォルダと "test"という名前のフォルダがあります。 eclipseを使用してエクスポートするときに、.classファイルをEARの「テスト」ソースフォルダから保つ必要があります。

私はこれを知っていることはわかりませんが、Eclipseを使用することは不可能です。プロジェクトを右クリックし、earファイルをエクスポートしてください。テストクラスは常に含まれています。

テストフォルダに関連付けられたタグを削除するために.setting/org.eclipse.wst.common.component.xmlファイルを手動で編集した場合、他の開発者がビルドパスに関連するものを変更した場合、再生された...

は、私が何かを明らかに不足している..私は無駄に狂ったようにGoogleで検索しました。..日食のドキュメントをチェックし、損失でアム...

答えて

1

直接可能ではないようです、これは奇妙です。試してみることのできるいくつかの回避策があります。

注WebプロジェクトからJavaプロジェクトにJavaファイルを移動します(とにかくこの手順は、おそらく良い方法です)。どちらの方法でも、別の「テスト」Javaプロジェクトを作成し、テストソースをそのプロジェクトに移動します。テストプロジェクトは「メイン」Javaプロジェクトを依存関係として宣言し、テスト用の型にアクセスできますが、戦争には含まれないため、テストクラスはデプロイされません。

また、ソースを1つのプロジェクトに保持する場合は、テストプロジェクトをリンクされたリソースを使用するように構成できます。 another answerを投稿しました。これは、リンクされたリソースを使用してプロジェクト間のソースロケーションを共有する方法を示しています。この方法では、テストソースはまだメインプロジェクトのビルドパスにはないので、jarファイルにはバンドルされませんが、ソース管理がより簡単になるようにプロジェクトに物理的に配置されます。

+0

aha!リンクされたリソース..それは良い妥協と思われる。 test.classファイルがないので、私のクイックテストでは耳に届くことはありません。私はまだテストコードをプロジェクトに残すことを好むでしょうが、悲しいかな... チップをありがとう! – tim

+0

もう少し徹底的にテストすると、実際にビルドパスからテストフォルダを削除してもそれほど変わっていないことがわかります。私は実際にビルドパス上にない限り、Eclipseからテストを "実行"することはできません。 – tim

+0

代わりにテストが "テスト"プロジェクトで実行され、テストはソースパスにあります –

1

私は、PDE、Eclipse 3.7を使用している場合を除いて、同様のことをしています。 私はEclipse/OSGiプラグイン/バンドルをデプロイしており、srcとtestの2つのjavaソースディレクトリを持っています。

2つのEclipseプロジェクトファイルの内容を調整してビルドからテストコードを分離しました。

.classpath:これらの変更はthis

を読むことによって動機づけられた

<classpath> 
    <classpathentry kind="src" path="src"/> 
    <classpathentry export="false" kind="src" path="test"/> 
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> 
    <classpathentry export="false" kind="lib" path="/thirdparty/junit/junit.jar"/> 
    <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> 
    <classpathentry kind="output" path="bin"/> 
</classpath> 

これはあなたの状況に適用されるかどうかは知らないが、私はまた、ビルドを変更する必要がありました。プロパティファイル。生成されたjarファイルから 'test'をコンパイルした結果を除外します。

source.optimizing.jar = src/ 
#This doesn't contain test/ because we don't want it in the build. 

bin.includes = META-INF/,\ 
       optimizing.jar 
#The junit.jar is also exluded    

プロジェクト全体をビルドすると、テストファイルは完全に存在しません。

関連する問題