1

Glassfish v2 を使用しています (古いことはわかっています)。Jersey 2.0に切り替えたので、起動時に次の例外が発生します:

 com.sun.jersey.spi.container.servlet.ServletContainer
java.lang.ClassNotFoundException: com.sun.jersey.spi.container.servlet.ServletContainer
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1578)
    at org.apache.catalina.core.StandardWrapper.loadServletClass(StandardWrapper.java:1273)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1049)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1023)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4969)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:5376)
    at com.sun.enterprise.web.WebModule.start(WebModule.java:345)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:986)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:970)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:704)
    at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1649)
    at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1254)
    at com.sun.enterprise.web.WebContainer.loadJ2EEApplicationWebModules(WebContainer.java:1177)
    at com.sun.enterprise.server.TomcatApplicationLoader.doLoad(TomcatApplicationLoader.java:141)
    at com.sun.enterprise.server.ExtendedApplicationLoader.doLoad(ExtendedApplicationLoader.java:134)
    at com.sun.enterprise.server.AbstractLoader.load(AbstractLoader.java:240)
    at com.sun.enterprise.server.ApplicationManager.applicationDeployed(ApplicationManager.java:336)
    at com.sun.enterprise.server.ApplicationManager.applicationDeployed(ApplicationManager.java:210)
    at com.sun.enterprise.server.ApplicationManager.applicationDeployed(ApplicationManager.java:645)
    at com.sun.enterprise.admin.event.AdminEventMulticaster.invokeApplicationDeployEventListener(AdminEventMulticaster.java:959)
    at com.sun.enterprise.admin.event.AdminEventMulticaster.handleApplicationDeployEvent(AdminEventMulticaster.java:943)
    at com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:467)
    at com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:182)
    at com.sun.enterprise.admin.server.core.DeploymentNotificationHelper.multicastEvent(DeploymentNotificationHelper.java:308)
    at com.sun.enterprise.deployment.phasing.DeploymentServiceUtils.multicastEvent(DeploymentServiceUtils.java:231)
    at com.sun.enterprise.deployment.phasing.ServerDeploymentTarget.sendStartEvent(ServerDeploymentTarget.java:298)
    at com.sun.enterprise.deployment.phasing.ApplicationStartPhase.runPhase(ApplicationStartPhase.java:132)
    at com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPhase.java:108)

このエラーが発生する理由/方法を知っている人はいますか? これは、私が見つけたジャージーコードに使用されているパッケージ名ではありません。Glassfish 2.x で Jersey 2.0 を使用することは可能ですか?

4

1 に答える 1

0

私は Glassfish 2.x で Jersey 2.0 を実行しようとはしていませんが、com.sun.jersey -> org.glassfish.jersey からそれぞれ 1.x から 2.x への大幅なパッケージの名前変更がありました。

(web.xml) 構成がまだ古いクラス名を使用しているようです。おそらくあなたが望むのは次のようなものです:

<web-app>
    <servlet>
        <servlet-name>Jersey Web Application</servlet-name>
        <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
        <init-param>
            <param-name>javax.ws.rs.Application</param-name>
            <param-value>org.foo.rest.MyApplication</param-value>
        </init-param>
        ...
    </servlet>
    ...
</web-app>

その他の詳細については、こちらの最新のジャージー展開情報を確認してください。

于 2013-07-23T18:47:02.943 に答える