問題

ジャージー開発では、Tomcatで次のエラーメッセージが表示されます。

SEVERE: Servlet/RESTfulExample threw load() exception
  java.lang.ClassNotFoundException: com.sun.jersey.spi.container.servlet.ServletContainer

  at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1516)
  at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1361)
 //...

ここにMavenの `pom.xml`があります

    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-core</artifactId>
        <version>1.8</version>
    </dependency>

解決策



com.sun.jersey.spi.container.servlet.ServletContainer

“は “jersey-core.jar”ではなく “jersey-server.jar”に含まれています。

実際に、Jerseyを使ってRESTサービスを開発するには、 “jersey-server.jar”をインクルードするだけで、自動的に “jersey-core.jar”の依存関係がダウンロードされます。

    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-server</artifactId>
        <version>1.8</version>
    </dependency>