1. ホーム
  2. java

org.glassfish.jersey.servlet.ServletContainer

2022-02-08 12:49:09
SEVERE: Servlet /JerseyDemos threw load() exception
java.lang.ClassNotFoundException: org.glassfish.jersey.servlet.ServletContainer
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:532)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:514)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:133)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1137)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1081)
    standardContext.loadOnStartup(StandardContext.java:5027)
    standardContext.startInternal(StandardContext.java:5314)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

解決策 - デプロイメントアセンブリにJerseyライブラリを追加します。

プロジェクトのデプロイメント・アセンブリ構成を開きます。

Eclipseデプロイメントアセンブリ

ビルドパスのjarファイルをアセンブリに追加し、最終的なwarファイルのlibフォルダに追加できるようにします。

デプロイメントアセンブリ - ビルドパスエントリの追加

更新されたアセンブリは次のようになります。

デプロイメントアセンブリ - 更新

これで、ビルド後に再びプロジェクトを実行すると、正常に実行され、以下のものが見つかるはずです。 org.glassfish.jersey.servlet.ServletContainer クラスがあります。