new*_*guy 17 eclipse unit-testing maven-plugin maven classnotfoundexception
我刚刚将SpringSource Tools Suite(STS,Eclipse的变体IDE)升级到最新版本(v3.6.1).然后我的所有JUnit单元测试都无法再次运行.我收到此错误:
Class not found ClassToTest
java.lang.ClassNotFoundException: ClassToTest
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
Run Code Online (Sandbox Code Playgroud)
根据这篇博客: 在Eclipse中运行JUnit单元测试时使用ClassNotFoundException(使用Maven),这是因为Eclipse中的一些Maven插件配置错误.但是,在STS 3.6.2中,我在Maven插件中找不到此选项"Include Modules".如何解决此问题并重新启用单元测试?
小智 19
目前的m2e插件仍然有一些反面.单元测试用例无法运行,因为它们的包含项目分组在工作集中.以下可能有所帮助
然后尝试再次运行测试.
好吧,我似乎必须自己回答这个问题.
这个问题的主要原因仍然是m2eclipse eclipse插件.此插件的新版本不支持一个项目中的嵌套模块.如果我们真的需要查看多个模块,我们必须从包资源管理器中删除旧模块并创建工作集并使用"import existing maven projects"选项再次导入项目.eclipse导入向导将弹出一个窗口,询问您要导入哪个模块.然后我们可以选择所有模块并完成导入.因此,工作集将包含项目的所有模块,并将每个模块视为一个单独的项目,尽管在工作区中您的模块仍在一个项目中.通过这样做,它解决了我在Eclipse中遇到的与类路径相关的所有问题,例如无法搜索类或无法运行单元测试并获得java.lang.ClassNotFoundException.
作为参考,这里有一篇文章教你如何创建一个工作集: 工作集
我认为您可以在不创建新工作集的情况下导入项目,但工作集会将属于您项目的所有模块保留在一个集合中,以便更容易组织.
我希望两个月前得到答案,所以我不会花太多时间寻找解决方案.
| 归档时间: |
|
| 查看次数: |
31966 次 |
| 最近记录: |