GlassfishでJersey(組み込み)を使用してRESTサービスを作成しようとしています。私はGlassFish Server Open Source Edition 3.0.1(ビルド22)をインストールしました。これは私のweb.xmlです:私はWARを展開しようとすると、GlassfishがJersey WebApplicationProviderImplを見つける/インスタンス化できません
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
<servlet>
<servlet-name>javax.ws.rs.core.Application</servlet-name>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>javax.ws.rs.core.Application</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
はしかし、私はこれを取得:
java.lang.IllegalStateException: WEB9031: WebappClassLoader unable to load resource [com.sun.jersey.server.impl.container.WebApplicationProviderImpl], because it has not yet been started, or was already stopped
at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1367)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at com.sun.jersey.core.reflection.ReflectionHelper.classForNameWithException(ReflectionHelper.java:236)
at com.sun.jersey.spi.service.ServiceFinder$LazyObjectIterator.hasNext(ServiceFinder.java:851)
だから私は何ができるのでしょうか?クラスパスの問題のように見えますが、これはすべてグラスフィッシュの深い部分です。
また、hereと記載されているように、GlassfishのJerseyコンポーネントを1.4にアップデートしようとしましたが、変更はありませんでした。
私は思わないファイルの種類には関係があります。私はWARファイルで全く同じエラーが発生します。私はこのバグレポートを提出しました:http://java.net/jira/browse/GLASSFISH-18482 – Gili