我有一个返回 JSONObjects 和 JSONArrays 的休息服务
我正在尝试返回
导入 org.codehaus.jettison.json.JSONArray;导入 org.codehaus.jettison.json.JSONObject;
从我的休息服务。
前任 :
@Path("/SubgraphIds")
@GET
@Produces(MediaType.APPLICATION_JSON)
public JSONArray getSubgraphIds() {
.......
}
@Path("/Subgraph/id={id}/startTime={startTime}/duration={duration}")
@GET
@Produces(MediaType.APPLICATION_JSON)
public JSONObject getSubgraph(@PathParam("id")String id ,@PathParam("startTime")String startTime ,
@PathParam("duration")String duration) {
}
在我的应用程序中,我使用 com.sun.jersey.api.container.httpserver 在应用程序内部启动我的 Own Rest 服务
/** * 启动服务 */ this.resourceConfig = new PackagesResourceConfig(restPkg);
resourceConfig.getFeatures().put(ClientConfig.FEATURE_DISABLE_XML_SECURITY, true);
resourceConfig.getProperties().put(ClientConfig.FEATURE_DISABLE_XML_SECURITY, "true");
resourceConfig.getClasses().add(JSONArrayProvider.class);
resourceConfig.getClasses().add(JSONArrayProvider.class);
this.httpServer = HttpServerFactory.create(getURL(port), resourceConfig);
但是在启动服务器时出现以下错误。任何有关解决此问题的想法都将受到高度赞赏。(我正在使用 jersey-core、jersey-server、jersey-json 1.1.1-ea 版本)。
严重:无法实例化提供程序类 com.sun.jersey.json.impl.provider.entity.JSONArrayProvider 类。处理将继续,但不会使用该类 java.lang.IllegalAccessException: Class com.sun.jersey.core.spi.component.ComponentConstructor can not access a member of class com.sun.jersey.json.impl.provider.entity .JSONArrayProvider 带有修饰符 "" 在 sun.reflect.Reflection.ensureMemberAccess(Reflection.java:95) 在 java.lang.Class.newInstance0(Class.java:368) 在 java.lang.Class.newInstance(Class.java:327 ) 在 com.sun.jersey.core.spi.component.ComponentConstructor。getInstance(ComponentConstructor.java:152) 在 com.sun.jersey.core.spi.component.ComponentConstructor.getInstance(ComponentConstructor.java:140) 在 com.sun.jersey.core.spi.component.ProviderFactory。_getComponentProvider(ProviderFactory.java:159) 在 com.sun.jersey.core.spi.component.ProviderFactory._getComponentProvider(ProviderFactory.java:152) 在 com.sun.jersey.core.spi.component.ProviderFactory.getComponentProvider(ProviderFactory. java:146) 在 com.sun.jersey.core.spi.component.ProviderFactory.getComponentProvider(ProviderFactory.java:124) 在 com.sun.jersey.core.spi.component.ProviderServices.getComponent(ProviderServices.java:190)在 com.sun.jersey.core.spi.component.ProviderServices.getProvidersAndServices(ProviderServices.java:120) 在 com.sun.jersey.core.spi.factory.MessageBodyFactory.initReaders(MessageBodyFactory.java:153) 在 com.sun .jersey.core.spi.factory.MessageBodyFactory.init(MessageBodyFactory.java:145) 在 com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:609) 在 com.sun.jersey.api.container.ContainerFactory.createContainer(ContainerFactory.java:168) 在 com.sun.jersey.api.container.ContainerFactory.createContainer(ContainerFactory.java:130) 在 com.sun.jersey .api.container.httpserver.HttpServerFactory.create(HttpServerFactory.java:169)