0

我正在使用 eclipse,我有两个项目,project1 和 project1-test。以下是我的项目的示例布局:

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-test,而它应该是 project1。运行 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 回答