700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 【已解决】Caused by: java.lang.ClassNotFoundException: com.sun.istack.Pool

【已解决】Caused by: java.lang.ClassNotFoundException: com.sun.istack.Pool

时间:2023-04-02 15:22:50

相关推荐

【已解决】Caused by: java.lang.ClassNotFoundException: com.sun.istack.Pool

最近遇到一个报错,记录一下解决的过程:

报错:

22-03-18.10:16:33.718 [JSF-FileRegistry-Back-Load-2-T-1] ERROR FileRegistry - com/sun/istack/Pooljava.lang.NoClassDefFoundError: com/sun/istack/Poolat com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1156) ~[jaxb-impl-2.3.1.jar:2.3.1]at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:165) ~[jaxb-impl-2.3.1.jar:2.3.1]..at java.lang.Thread.run(Thread.java:745) [na:1.8.0_65]Caused by: java.lang.ClassNotFoundException: com.sun.istack.Poolat org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) ~[catalina.jar:7.0.42]at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) ~[catalina.jar:7.0.42]... 20 common frames omitted

解决办法

Maven中增加jaxb-impljaxb-core两个依赖即可,此处参考点击跳转。如果已经有这两个jar包,还是出现同样的问题,可以变更一下jaxb-impl的版本号,另外jaxb-core 依赖于 istack-commons-runtime,也可以在 jaxb-core 的 pom 中找到,此处参考 点击跳转。

总的来说,java.lang.ClassNotFoundException,即java类找不到。这类典型异常通常是由于,没有在依赖管理中声明版本或者没有引入导致,由于maven仲裁机制的存在,有的时候选取了错误的版本,而这个版本恰好缺少了我们所需要的某个class,就会产生该错误。

例如httpclient-4.4.jar升级到httpclient-4.36.jar时,类org.apache.http.conn.ssl.NoopHostnameVerifier被去掉了,如果此时我们本来需要的是4.4版本,且用到了NoopHostnameVerifier这个类,而maven仲裁时选择了4.36,则会导致ClassNotFoundException异常。

参考

1、/Enterprise-Content-Management/documentum-rest-client-java/issues/4

2、Jar包冲突问题及解决方案!

3、/questions/60389012/java-lang-noclassdeffounderror-com-sun-istack-pool

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。