关于jakarta或javax ClassNotFoundException/版本不匹配的问题

之前因为使用的springboot版本比较低,另一个工具版本比较高,两者共同的依赖jakarta版本就一直报错:
报错ClassNotFoundException:jakarta.xml.bind not found
解决办法:

  1. 重新单独引入jakarta包:
 <dependency>
     <groupId>javax.xml.bind</groupId>
     <artifactId>jaxb-api</artifactId>
     <version>2.3.0</version>
 </dependency>
  1. 这时候我jakarta的版本就是2.3.0了,如果有其他地方引入了不同版本的,记得exclusions排除一下
  2. 但是我又报错ClassNotFoundException:javax.xml.bind not found,于是又引入了包:
<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-impl</artifactId>
    <version>2.3.0</version>
</dependency>
<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-core</artifactId>
    <version>2.3.0</version>
</dependency>
<dependency>
    <groupId>javax.activation</groupId>
    <artifactId>activation</artifactId>
    <version>1.1.1</version>
</dependency>
<dependency>
    <groupId>org.glassfish.jaxb</groupId>
    <artifactId>jaxb-runtime</artifactId>
    <version>4.0.2</version>
</dependency>
<dependency>
    <groupId>com.sun.activation</groupId>
    <artifactId>jakarta.activation</artifactId>
    <version>2.0.1</version>
</dependency>

我这里遇到这个问题的原因在于,我引入的工具版本比较高,需要jakarta开头的包,但是springboot版本又是需要javax开头的包,所以把这俩都自己手动引入即可。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
java.lang.NoClassDefFoundError: jakarta/xml/ws/Service 是一个Java错误,表示系统无法找到 jakarta/xml/ws/Service 类。 NoClassDefFoundError 错误通常发生在以下两种情况下: 1. 缺少依赖库:这个错误可能是由于缺少项目所需的某个库或jar文件导致的。在Java中,如果一个类引用了另一个类,但系统找不到该类的定义,就会出现NoClassDefFoundError错误。在这种情况下,需要确保类路径中包含了 jakarta/xml/ws/Service 类的定义所在的jar文件。 2. 配置问题:另一个可能的原因是项目的配置文件中没有正确地配置 jakarta/xml/ws/Service 类的位置。例如,在一个Java Web应用中,如果web.xml文件或pom.xml文件中没有正确指定项目所需的库的位置,就会出现这个错误。在这种情况下,需要检查项目的配置文件,确保正确地指定了 jakarta/xml/ws/Service 类所在的位置。 解决这个错误的方法有几种: 1. 添加缺失的库:如果确实缺少 jakarta/xml/ws/Service 类所在的库或jar文件,可以根据项目的需求,手动添加需要的库,或者使用构建工具(如Maven或Gradle)来管理依赖关系。 2. 检查配置文件:如果已经确定项目的配置文件没有问题,可以尝试重新构建和部署项目,以确保配置文件正确加载。 3. 检查类路径:确保类路径中包含了 jakarta/xml/ws/Service 类的定义所在的jar文件。可以通过在运行时设置classpath来指定类路径。如果是使用构建工具管理项目,可以检查构建工具的配置文件,确保正确地指定了 jakarta/xml/ws/Service 类所在的位置。 总之,java.lang.NoClassDefFoundError: jakarta/xml/ws/Service 错误表示系统无法找到 jakarta/xml/ws/Service 类的定义。解决该错误的方法包括添加缺失的库、检查项目的配置文件和类路径,以确保系统能够正确找到该类。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值