在mvn安装之前使用Eclipse运行Junit时,看不到.java文件中的更改

在mvn安装之前使用Eclipse运行Junit时,看不到.java文件中的更改,eclipse,debugging,spring,maven-2,junit,Eclipse,Debugging,Spring,Maven 2,Junit,我有多模块maven项目。我使用的技术是弹簧和支柱。我创建了测试用例,并以以下方式运行它: @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { "classpath:applicationContextSimpleTest.xml" }) public class CurrencySpeakerTest 一切都很好。。。直到我在源代码中做了一些更改。。。在父项目上运行mvn install之前,

我有多模块maven项目。我使用的技术是弹簧和支柱。我创建了测试用例,并以以下方式运行它:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:applicationContextSimpleTest.xml" })
public class CurrencySpeakerTest
一切都很好。。。直到我在源代码中做了一些更改。。。在父项目上运行
mvn install
之前,我无法看到它们。怎么了?我试着查看调试配置,但我找不到它所说的查看编译源代码而不是
.java
文件的位置。。。我认为这就是junit运行
.class
文件而不是实际文件的原因。。。有人知道吗


我有3个模块的应用程序。。。它们是用父模块构建的。父模块也是eclipse中导入的项目。我点击refresh并手动清理/构建eclipse项目(如果启用automatically build,它不会改变任何东西)。我使用eclipse对话框作为JUnit运行测试。Eclipse似乎看不到已编辑测试文件(.java)中的更改

也许这与包含其他模块的一个主要项目有关? 奇怪的是。。。如果我编辑不在测试文件夹中的任何其他类,并使用tomcat插件运行web应用程序,Eclipse会在那里看到更改吗


我使用mvn clean和mvn install,但这不是问题所在。
我使用Eclipse运行测试,但Eclipse调试器无法看到代码中的更改。。。例如,如果我将System.out.println()添加到某个地方,并将断点放在那里,我运行测试,Eclipse不会在那里停止,因为它看起来像旧代码(我假设是.class文件)…或者如果我删除行,编辑一些字符串…什么都没有。。。它似乎指向了课堂…为什么?刷新和清理/构建eclipse项目不起作用。

您可能需要先运行清理

mvn clean compile
您是否在eclipse之外编辑java文件?如果是,您可能需要按f5刷新它。(通常应检测到变化)


如果没有,您是否正在使用eclipse中的build automatically选项?

当我从我编写测试的模块中删除目标时,我在下面得到了异常。这使我的理论成为现实,eclipse正在查看编译后的代码,而看不到源代码。。。为什么呢

未找到类pl.erif.utils.CurrencySpeakerTest java.lang.ClassNotFoundException:pl.erif.utils.CurrencySpeakerTest 位于java.net.URLClassLoader$1.run(URLClassLoader.java:202) 位于java.security.AccessController.doPrivileged(本机方法) 位于java.net.URLClassLoader.findClass(URLClassLoader.java:190) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:307) 位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:248) 位于org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:693) 位于org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:429) 位于org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452) 位于org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) 位于org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) 位于org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

我也有同样的问题。这是由于有缺陷的.classpath造成的。删除此.classpath并重新导入项目,将生成正确的.classpath并修复环境。 要查找更多详细信息,请确保eclipse没有在错误的目录中生成testcase的类文件


Ref:

你能说得更具体一点吗。您在哪里进行更改(在哪个项目/模块中),在哪里看不到更改?查看
project
下的菜单,是否启用了
project>buildautomatically
?如果没有,试试看。