首页 文章

尝试使用jersy api抛出异常来连接jaserper服务器?

提问于
浏览
1

当我尝试使用jersy api抛出异常时连接jaserper服务器java.lang.NoSuchMethodError:org.glassfish.hk2.utilities.AbstractActiveDescriptor

代码在这里

RestClientConfiguration configuration = new RestClientConfiguration("//localhost:80/jasperserver");
JasperserverRestClient client = new JasperserverRestClient(configuration);
//Session session = client.authenticate("jasperadmin", "jasperadmin");
OperationResult<InputStream> result = client
    .authenticate("jasperadmin", "jasperadmin")
    .reportingService()
    .report("/reports/samples/Cascading_multi_select_report")
    .prepareForRun(ReportOutputFormat.HTML, 1)
    //.parameter("Cascading_name_single_select", "A & U Stalker Telecommunications, Inc")
    .run();
InputStream report = result.getEntity();

我得到的确切例外如下

线程“main”中的异常java.lang.NoSuchMethodError:org.glassfish.hk2.utilities.AbstractActiveDescriptor . (Ljava / util / Set; Ljava / lang / Class; Ljava / lang / String; Ljava / util / Set; Lorg / glassfish / hk2 / api / DescriptorType; Lorg / glassfish / hk2 / api / DescriptorVisibility; ILjava / lang / Boolean; Ljava / util / Map;)V at org.jvnet.hk2.internal.ConstantActiveDescriptor . (ConstantActiveDescriptor.java:111)在org.jvnet.hk2.internal.ConstantActiveDescriptor . (ConstantActiveDescriptor.java:111)org.jvnet.hk2.internal.Utilities.getLocatorDescriptor(Utilities.java:795)org.jvnet.hk2.external.generator.ServiceLocatorGeneratorImpl . 在org.glassfish.hk2.internal.ServiceLocatorFactoryImpl.internalCreate(ServiceLocatorFactoryImpl.java:230)的org.jvnet.hk2.external.generator.ServiceLocatorGeneratorImpl.create(ServiceLocatorGeneratorImpl.java:91)初始化(ServiceLocatorGeneratorImpl.java:69) org.glassfish.jersey.in上的.glassfish.hk2.internal.ServiceLocatorFactoryImpl.create(ServiceLocatorFactoryImpl.java:207)位于org.glassfish.jersey.internal.RuntimeDelegateImpl . (RuntimeDelegateImpl.java:60)的ternal.inject.Injections.createLocator(Injections.java:121)at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)at sun.reflect.NativeConstructorAccessorImpl .newInstance(NativeConstructorAccessorImpl.java:62)at at.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)at java.lang.reflect.Constructor.newInstance(Constructor.java:408)at java.lang.Class.newInstance( Class.java:433)javax.ws.rs.ext.FactoryFinder.newInstance(FactoryFinder.java:117)javax.ws.rs.ext.FactoryFinder.find(FactoryFinder.java:207)javax.ws.rs .ext.RuntimeDelegate.findDelegate(RuntimeDelegate.java:135)at javax.ws.rs.ext.RuntimeDelegate.getInstance(RuntimeDelegate.java:120)at javax.ws.rs.core.UriBuilder.newInstance(UriBuilder.java:95 )在org.glassfish.jersey.client.JerseyWebTarget的javax.ws.rs.core.UriBuilder.fromUri(UriBuilder.java:119) . (JerseyWebTarget.java: 72)atg.glassfish.jersey.client.JerseyClient.target(JerseyClient.java:140)atg.glassfish.jersey.client.JerseyClient.target(JerseyClient.java:62)at com.jaspersoft.jasperserver.jaxrs.client .core.SessionStorage.init(SessionStorage.java:96)位于com.jaspersoft.jasperserver.jaxrs.client.core.SessionStorage . (SessionStorage.java:56)的com.jaspersoft.jasperserver.jaxrs.client.core.JasperserverRestClient . 验证(JasperserverRestClient.java:47)

and jar details

enter image description here

1 回答

  • 2

    您也可以在不使用任何api的情况下执行此操作 . 只需使用REST调用jasper服务器所需的参数调用报告即可 . 这guide会帮助你 .

相关问题