2011-05-25 77 views
0

在我的Java应用程序中,我正在使用Jersey for REST服务。一切 工程完美,但我得到这个错误消耗了大量的CPU (13830cpu_ms)并冻结了几秒钟的应用程序。Google App Engine上的泽西岛错误

com.sun.jersey.core.spi.component.ProviderFactory __getComponentProvider: The provider c  
class, class com.sun.jersey.json.impl.provider.entity.JSONArrayProvider$App, could not be 
instantiated. Processing will continue but the class will not be utilized 
java.lang.SecurityException: Unable to get members for class 
    com.sun.jersey.json.impl.provider.entity.JSONArrayProvider$App 
    at com.google.appengine.runtime.Request.process-d73c0d822f527031(Request.java) 
    at java.lang.Class.getDeclaredMethods(Class.java:252) 

任何想法如何我可以解决这个问题?

+0

您需要显示一些代码(导致错误的地方),或者这只是为了得到一堆downvotes并最终关闭 – 2011-05-25 20:16:55

回答

0

@德鲁西尔斯:谢谢,但错误发生在泽西岛的代码 - 不是我的,所以没有代码显示。

最后我发现了这个问题:我只用jersey-core-1.7.jar这样的球衣库。这很好,应用程序将只使用这些库来引发REST服务,但是如果我生成JSON,它将搜索提供JSON数组提供程序的jackson库。

通过简单地添加jackson * .jar库,问题消失了。

+0

包括杰克逊正在工作,但不是推荐的方式。改用'jersey-json':http://download.java.net/maven/2/com/sun/jersey/jersey-json/1.7 – 2011-06-14 16:18:44