DeltaSpike 1.9.6 Jakarta版CDITestRunner遇jakarta.naming.NamingException缺失
问题
使用DeltaSpike 1.9.6 Jakarta版本搭配Apache OpenWebBeans,通过CDITestRunner运行测试时,抛出ClassNotFoundException: jakarta.naming.NamingException。经排查,项目依赖中无jakarta.naming相关包,且DeltaSpike未引入该传递依赖,需添加哪个依赖解决类缺失问题?
项目POM配置
[原POM代码]
完整错误栈信息
[原错误栈代码]
解决方案
需要添加Jakarta命名API相关依赖,有两种可选方式:
- 方式一:引入完整的Jakarta EE API包(推荐,包含所有基础规范API,可避免后续出现其他类缺失问题)
<dependency> <groupId>jakarta.platform</groupId> <artifactId>jakarta.jakartaee-api</artifactId> <version>8.0.0</version> <!-- 版本适配DeltaSpike 1.9.6的Jakarta规范,可根据实际需求调整 --> <scope>test</scope> <!-- 仅在测试环境引入,不影响主代码依赖 --> </dependency>
- 方式二:单独引入命名API包
<dependency> <groupId>jakarta.naming</groupId> <artifactId>jakarta.naming-api</artifactId> <version>1.0.1</version> <scope>test</scope> </dependency>
添加依赖后重新运行测试,即可解决jakarta.naming.NamingException类缺失的问题。
内容的提问来源于stack exchange,提问作者Gaurav
相关产品推荐
相关产品推荐

