Class not found...controller.TestPageHelper

本文解决了Maven项目中测试类出现ClassNotFoundException的问题。通过调整构建命令避免了clean操作导致的测试类丢失,并介绍了一种触发测试类重新编译的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述

maven创建的项目,通过run as maven build启动后,测试类统统出现Class not found异常,有时候打开eclipse直接调试测试类的时候又是好好的,有时候maven build以后就出问题

Class not found zyh.controller.TestPageHelper

java.lang.ClassNotFoundException: zyh.controller.TestPageHelper
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:685)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:421)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)

解决办法

方法1:maven build的命令,只用tomcat7:run就行了(根据你的tomcat的版本来,我在配置里用的7),前面就不要加clean了,因为你每次clean了,编译出来的测试类的文件就被清除了。这样,不论你是否build了maven工程,进行Junit单元测试都不会受影响

方法2:maven build的命令如果是 clean tomcat7:run,那么你要进行Junit单元测试的时候,你的测试类就需要重新编译,方法就是在你的测试类里面随便找个位置敲个空格或者在哪里随便enter一行,然后Ctrl+S进行保存,这下你就有了编译后的文件。现在进行你的单元测试吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值