2016-11-02 18 views
0

私はtomcat7にジャージで闊歩を使用しようとすると、次のエラーを取得する実行します。Tomcatの7 - >ジャージーます。java.lang.NoClassDefFoundError:COM /グーグル/共通/ベース/スプリッタ

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パスに追加し、common.loaderの最後のcatalina.propertiesにそのフォルダを追加します。

また、このフォルダが機能していることがわかりました。そうしないと、ジャージーとスワッガーがまったく動作しない可能性があるからです。

ここで、クラスローダーがそれを見つけることができない理由が失われました。誰でもそのアイデアをデバッグする方法は?

+1

jersey-guavaを追加しましたが、コアのGuava jarも追加する必要があります。副次的な点として、複数のアプリケーションを同じコンテナにデプロイする予定がある場合、webapp固有のライブラリを共通ローダに追加することは悪影響を及ぼす可能性があります。 – rmlan

答えて

0

最後に特定の問題がわかりませんでしたが、私が参照したフォルダに既に入っているのを見てから、tomcat libにguava-18を追加しました。今それは動作します。私はtomcatのlibフォルダからlibを削除し、私の参照フォルダにのみそれを維持し、それはまだ動作します。

guavaをそのフォルダに追加したときに私は明白に思い出せません。 :)

関連する問題