gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 04:14:03 25 4
gpt4 key购买 nike

我有多模块 Maven 项目。我使用的技术是 Spring 和 Struts。我创建了测试用例并将其运行为:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:applicationContextSimpleTest.xml" })
public class CurrencySpeakerTest

一切都很好...直到我对源代码进行了一些更改...直到我运行 mvn install 才能看到它们在父项目上。怎么了?我试图查看调试配置,但我找不到它说要查看编译源而不是 .java 的位置文件...我认为这就是junit运行 .class的原因。文件而不是真实的...有人对此有任何想法吗?

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

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

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

最佳答案

当我从编写测试的模块中删除目标时,下面出现异常。这使我的理论是正确的,即 Eclipse 正在查看已编译的代码并且看不到源代码......为什么会这样?
Class not found pl.erif.utils.CurrencySpeakerTest
java.lang.ClassNotFoundException: pl.erif.utils.CurrencySpeakerTest
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:693)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:429)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

关于eclipse - 在安装 mvn 之前使用 Eclipse 运行 Junit 时看不到 .java 文件中的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4691400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com