私は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にそのフォルダを追加します。
また、このフォルダが機能していることがわかりました。そうしないと、ジャージーとスワッガーがまったく動作しない可能性があるからです。
ここで、クラスローダーがそれを見つけることができない理由が失われました。誰でもそのアイデアをデバッグする方法は?
jersey-guavaを追加しましたが、コアのGuava jarも追加する必要があります。副次的な点として、複数のアプリケーションを同じコンテナにデプロイする予定がある場合、webapp固有のライブラリを共通ローダに追加することは悪影響を及ぼす可能性があります。 – rmlan