gpt4 book ai didi

java - Eclipse m2e Junit - 在 maven-Build 之后找不到类,或者在 "maven update project"之后缺少资源

转载 作者:行者123 更新时间:2023-11-30 09:12:05 26 4
gpt4 key购买 nike

我在安装 Eclipse 时遇到了一些问题。

我有一个构建得很好的多模块 Maven 项目。所有 jar 都在我期望的位置,当我将它部署到我的生产环境中时,它一切正常。

[INFO] Reactor Summary:
[INFO]
[INFO] Datawizard-M3-Access Parent ....................... SUCCESS [0.344s]
[INFO] m3-datawizard-access-core ......................... SUCCESS [9.474s]
[INFO] m3-datawizard-access-banking-bankAT ............... SUCCESS [0.401s]
[INFO] m3-datawizard-access-banking-denmark .............. SUCCESS [1.143s]
[INFO] m3-datawizard-access-banking-russland ............. SUCCESS [0.353s]
[INFO] m3-datawizard-access-banking-sepa ................. SUCCESS [0.378s]
[INFO] m3-datawizard-access-banking-turkey ............... SUCCESS [0.222s]
[INFO] m3-datawizard-access-gefahrgutstueckliste ......... SUCCESS [0.312s]
[INFO] m3-datawizard-access-logistik-dhl ................. SUCCESS [0.338s]
[INFO] m3-datawizard-access-logistik-exportmanager ....... SUCCESS [0.279s]
[INFO] m3-datawizard-access-logistik-fixmanagement ....... SUCCESS [0.375s]
[INFO] m3-datawizard-access-logistik-frankreich .......... SUCCESS [0.271s]
[INFO] m3-datawizard-access-logistik-landwher ............ SUCCESS [0.501s]
[INFO] m3-datawizard-access-logistik-nordic .............. SUCCESS [0.274s]
[INFO] m3-datawizard-access-logistik-turkey .............. SUCCESS [0.324s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 36.851s
[INFO] Finished at: Fri Feb 14 23:37:34 CET 2014
[INFO] Final Memory: 38M/358M
[INFO] ------------------------------------------------------------------------

当我在 Maven 构建之后开始 JUnit 测试时,我得到了一个 ClassNotFound 异常。

Class not found com.lr.datawizard.cron.TurkeyLstPackagesTest
java.lang.ClassNotFoundException: com.lr.datawizard.cron.TurkeyLstPackagesTest
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
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 也不能解决问题。要摆脱此异常,我必须使用 Eclipse 的“项目 --> 清理项目”功能清理项目。也可以在测试开始后运行“Maven --> 更新项目”。

这是最大的问题清理项目后(以任何一种方式),来自 src/main/resources 的资源在 target/classes 文件夹中消失。因此,我的测试不再正常运行,因为它们依赖于一些不再可用的 spring 配置文件。

在德语中我们说“Die Katze beißt sich in den Schwanz”(类似于“猫咬自己的尾部”)我必须构建项目以使所有内容正确就位,但由于(奇怪的)ClassNotFound 异常)在清理时测试不运行,执行消失,但我需要运行测试的文件也消失了。

有人知道如何解决这个问题吗?

附言:- 我重新安装了 eclipse 的新副本(只有 me2 和颠覆性的)- 我删除所有 .classpath、.project、.setting 文件/文件夹- 我从 svn 检查了一份新副本,我 100% 确定它在 中有效,因为我有一些测试协议(protocol)。

不知道如何解决这个问题。现在我花了 2 天时间。

最佳答案

又玩了一天后,我发现了很多东西。

1st eclipse 或eclipse 与m2e 的组合似乎有问题。类路径设置不正确。当右键单击项目时,然后选择“构建路径”-->“配置构建路径”,将打开一个窗口,其中选择了“源”选项卡。 enter image description here

如您所见,在以“resources”结尾的两个源文件夹中都有“exclude: **”这在我的理解中是不正确的。通过删除它,所有资源都会正确地“编译”到类或测试类文件夹中。

第二件事是 Maven 构建后的“ClassNotFoundException”。这在现在也是可以理解的。在我的 Maven 运行属性中,我选择了“跳过测试”。这导致 src/test/java 不包含在构建过​​程中。这就是为什么该类不存在并且异常实际上是真实的。通过在 Maven 构建之后简单地清理或“maven 更新项目”,一切都恢复正常。

恕我直言,这是 IDE(或其组件之一)的错误行为,但至少我知道它发生的原因。

希望我的回答对遇到同样问题的人有所帮助。

干杯,基督徒

关于java - Eclipse m2e Junit - 在 maven-Build 之后找不到类,或者在 "maven update project"之后缺少资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21790894/

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