【解决问题】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
里面,或者是相同的类因为不同版本的原因出现至少两个,而系统不知道选择哪一个。
网上关于这个问题有很多解决方案,实测大部分都不行,可能解决了这个之后又会有蹦出另一个错误。
出现这个错误的原因是服务器上jre
的lib
目录没有tools.jar
,所以我的解决方案就是将jre
同级目录jdk
中lib
目录下的tools.jar
复制粘贴到jre
的lib
目录下,然后重启服务器在进行测试,问题就解决了。
实际上一开始我直接把jdk
中lib
目录下的tools.jar
复制粘贴到jre
的lib
目录后进行测试,仍然报错,于是我卸载了jdk
,卸载之后要求重启服务器,我就重启了,然后重装了jdk
,不复制粘贴tools.jar
的情况下仍然不行,复制粘贴之后就可以了,所以我也不知道是不是重启服务器起到关键作用。