プロジェクト名=ProA と プロジェクト名=ProB が存在して、
ProA で作成した src/test/java で作成したクラスを、ProB の src/test/java で
使用したいという要件です。
簡単な環境設定なのですが、毎度のこと Eclipse 操作に落とし穴があります。
設定の手順を以下の順に行っています。
まず、プロジェクト名=ProBのビルドパス設定画面の初期状態
ここから、「ソースのリンク...」をクリックします。
参照したい ProA のテストソースフォルダを指定して、
フォルダ名は、後で認識しやすい名称に変更します。
「完了」をクリックします。
直後、、、
出力フォルダが、デフォルトではメインソースの出力先と同じになってしまうので、
target/test-calsses に変える作業をします。
作成しソースリンクの出力フォルダを選択
編集をクリックします。
ここで、特定の出力フォルダー、target/test-classes にして、ok をクリックするのですが、、
このように、怒られて設定できません。
解決策は、、
出力フォルダー編集設定をデフォルトに戻して、プロジェクトの .classpath をこの状態から編集します。
参照するプロジェクトの .classpath を以下のように編集する
「ソース・フォルダー」を作成した時の 「フォルダー名」が、path="フォルダー名" で存在するはずだ。
<<修正前>>
<classpathentry kind="src" path="testjavaProA"/>
これに出力フォルダーが指定されていないので以下のように修正する。
Eclipse 設定ダイアログ画面でできなかったことを、手作業で編集するのである。
<<修正後>>
<classpathentry kind="src" output="target/test-classes" path="testjavaProA"> <attributes> <attribute name="test" value="true"/> <attribute name="optional" value="true"/> <attribute name="maven.pomderived" value="true"/> </attributes> </classpathentry>
最終的には以下のように、ProB で、ProA の src/test/java のソースが、
リンクとして参照できているようになる。