Java类执行问题:java.lang.ClassNotFoundException

本文解决了一个Maven项目中src/test/java目录下进行单元测试时出现的ClassNotFoundException问题。通过调整包结构,在src/test/java下设置多级子目录,成功解决了这一问题。

一。遇到了一个奇怪的问题,在maven工程 src/test/java下 单元测试时总是ClassNotFoundException

     最后通过stackoverflow解决了,不太清楚原因   先记录下来

点击打开链接  

不清楚为什么,应该是包结构的问题  ,可能是 src/test/java下的包名设置成了一个父目录,

多设置几级子目录 就可以正常运行    



虽然未直接提及 `java.lang.ClassNotFoundException: jakarta.servlet.Filter` 的解决方法,但可参考似异常的解决思路。 对于 `java.lang.ClassNotFoundException: javax.servlet.Filter`,有两个解决方向:一是检查 maven 中的作用域,确保不是 `provided`,而是 `compile`(默认的 scope);二是考虑 `spring-boot-starter-tomcat` 的版本问题,尝试更换新的或旧的版本 [^1]。 对于 `java.lang.ClassNotFoundException: org.apache.cxf.transport.servlet.CXFServlet` 异常,是因为没有导入有关 cxf 的 jar 导致报错,所以对于 `java.lang.ClassNotFoundException: jakarta.servlet.Filter` 可检查是否缺少相关依赖,可通过 Maven 或 Gradle 添加相应依赖,例如在 Maven 的 `pom.xml` 中添加: ```xml <dependency> <groupId>jakarta.servlet</groupId> <artifactId>jakarta.servlet-api</artifactId> <version>你需要的版本</version> </dependency> ``` 对于 `Caused by:java.lang.ClassNotFoundException: javax.servlet.ServletContextListener`,是由于 Servlet、JSP 与 Spring 的版本之间的匹配出了问题,因此也需要检查 `jakarta.servlet.Filter` 相关的 Servlet、JSP 与 Spring 等框架的版本是否匹配,可通过官网 http://tomcat.apache.org/whichversion.html 进行验证 [^3]。 还可以尝试下载可能缺失的依赖,如对于 `java.lang.ClassNotFoundException: jakarta.servlet.Servlet` 可参考 `java.lang.ClassNotFoundException: jakarta.servlet.jsp.jstl` 的解决思路, 参考链接:https://search.maven.org/artifact/jakarta.servlet.jsp.jstl/jakarta.servlet.jsp.jstl-api/2.0.0/jar 进行相关依赖的下载添加 [^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值