我正在使用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。有没有办法让MyClass.java在运行MyClassTest.java时不从project1-test引用util.java?
答案 0 :(得分:0)
这似乎是一个类路径问题。在两个项目中都有一个名为my.package.util.util
的类,当您在project1-test
中运行代码时,它首先被Eclipse放在类路径上。
您最简单的解决方案是重命名测试项目中的util
类。或者甚至只是把它放在一个不同的包装中。
另一个解决方案是操纵Eclipse正在使用的类路径,但这意味着始终在project1
中使用project1-test
之前的类。