Java REST Web サービス Google AppEngine を実行しています。ローカルの Google Plugin for Eclipse 開発サーバーで問題なく動作します。ただし、AppEngine クラウドにデプロイした後、次のエラーが 4 ミリ秒ごとに繰り返しログに記録されます。
com.sun.jersey.core.spi.component.ProviderFactory __getComponentProvider: The provider class, class com.sun.jersey.json.impl.provider.entity.JSONArrayProvider$General, could not be instantiated. Processing will continue but the class will not be utilized
これは、次と同じ問題です。
しかし、そこにたどり着いた解決策は私にとってはうまくいきません。解決策は、「jackson*.jar ライブラリを追加することで問題が解決した」ことでした。すべての Jackson jar を $ECLIPSE_PROJECT_HOME/war/WEB-INF/lib/jackson-all-1.9.7.jar として追加しましたが、それでもエラーが発生します。私は問題の性質を理解しています (Jersey によって Jackson がプロバイダーとして検出されていません) が、興味深いことに、このエラーは開発中ではなくデプロイ後にのみ発生します。
たぶん、Jackson の新しい 2.0.0 シリーズを試してみます...
$ECLIPSE_PROJECT_HOME/war/WEB-INF/web.xml ファイルに Jackson に関するものを追加する必要がありますか? 今、私は持っています:
<web-app 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_2_5.xsd" version="2.5" xmlns="http://java.sun.com/xml/ns/javaee">
<servlet>
<servlet-name>jerseywebapp</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>org.pathways.openciss.rest.impl</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.config.property.classnames</param-name>
<param-value>org.codehaus.jackson.jaxrs.JacksonJsonProvider</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey Web Application</servlet-name>
<url-pattern>/resources/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jerseywebapp</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>OpenCISS.html</welcome-file>
</welcome-file-list>
</web-app>
POJOMappingFeature と JacksonJsonProvider パラメータのオンとオフを切り替えて試してみましたが、役に立ちませんでした...
アドバイスをよろしくお願いします。