Tomcat 7 - > Jersey java.lang.NoClassDefFoundError:com / google / common / base / Splitter

时间:2016-11-02 12:23:28

标签: java tomcat jersey swagger

当我尝试在tomcat7中使用swagger和jersey时,我确实收到以下错误:

javax.servlet.ServletException: org.glassfish.jersey.server.ContainerException: java.lang.NoClassDefFoundError: com/google/common/base/Splitter
    org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:489)
    org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
    org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
    org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
    org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

但是我将jersey-guava-2.24.jar添加到tomcats lib路径中,通过将该文件夹(我将该jar放入)添加到common.loader末尾的catalina.properties。

我也知道这个文件夹正在运行,因为否则运动衫和招摇都不会起作用。

现在我已经失去了为什么班级装载机无法找到它。有人知道如何调试吗?

1 个答案:

答案 0 :(得分:0)

最后不确定具体问题是什么,但是在我看到它已经在我的引用文件夹中之后,我将guava-18添加到了tomcat lib。现在它有效。我从tomcat lib文件夹中删除了lib,并将它保存在我的参考文件夹中,它仍然有效。

当我将番石榴添加到该文件夹​​时,我不记得显而易见,我很生气,但它现在有效! :)