0

私はEclipseを使用しており、project1とproject1-testの2つのプロジェクトがあります。以下は、私のプロジェクトのレイアウト例です。

project1  
-src  
--my.package  
----MyClass.java  
--my.package.util  
----util.java  

project1-test  
-src  
--my.package  
----MyClassTest.java  
--my.package.util  
----util.java  

MyClass.java は、project1 の util.java への静的呼び出しを行います。MyClassTests.java は MyClass.java をテストしています。テスト クラスを実行すると失敗し、MyClass.java が util.java 内の存在しないメソッドを参照していると不平を言います。project1 では、参照されているメソッドは util.java に存在しますが、project1-test ではメソッドは存在しません。

MyClassTests.java を実行すると、MyClass.java から参照されている util.java は、project1 である必要があるのに project1-test からのものです。MyClassTest.java の実行時に、MyClass.java が project1-test から util.java を参照しないようにする方法はありますか?

4

1 に答える 1

0

これはクラスパスの問題のようです。両方のプロジェクトで呼び出されるクラスがあり、その中でmy.package.util.utilコードを実行しているとき、project1-testそのクラスは Eclipse によって最初にクラスパスに配置されます。

最も簡単な解決策はutil、テスト プロジェクトでクラスの名前を変更することです。または、別のパッケージに入れるだけでもかまいません。

別の解決策は、Eclipse が使用しているクラスパスを操作することproject1ですproject1-test

于 2013-11-05T21:52:06.110 に答える