【解决问题】WebService客户端找不到com/sun/tools/internal/xjc/api/XJC类

springboot使用JAX动态调用WebService服务端时,开发环境在IDEA测试没有问题,但是打包jar包部署到服务器时却报错,如下图:

提取重点:

java.lang.ClassNotFoundException: com/sun/tools/internal/xjc/api/XJC

ClassNotFoundException这种错误一般是需要的类库没有在类路径classpath里面,或者是相同的类因为不同版本的原因出现至少两个,而系统不知道选择哪一个。

网上关于这个问题有很多解决方案,实测大部分都不行,可能解决了这个之后又会有蹦出另一个错误。

出现这个错误的原因是服务器上jrelib目录没有tools.jar,所以我的解决方案就是将jre同级目录jdklib目录下的tools.jar复制粘贴到jrelib目录下,然后重启服务器在进行测试,问题就解决了。

实际上一开始我直接把jdklib目录下的tools.jar复制粘贴到jrelib目录后进行测试,仍然报错,于是我卸载了jdk,卸载之后要求重启服务器,我就重启了,然后重装了jdk,不复制粘贴tools.jar的情况下仍然不行,复制粘贴之后就可以了,所以我也不知道是不是重启服务器起到关键作用。

posted @ 2021-06-03 15:57  程序员微尘  阅读(2489)  评论(2编辑  收藏  举报