我在我的本地日食上运行java cloudant,我得到一个错误。
CloudantClient client = ClientBuilder.account("XXXXXXXX")
.username("XXXXXXXXXX")
.password("YYYYYYYYYYYYYYYY")
.build();
[ERROR] SRVE0315E:发生异常:java.lang.Throwable:java.lang.RuntimeException:org.apache.cxf.interceptor.Fault:com / cloudant / client / api / CloudantClient。(Lcom / cloudant / client /组织/ lightcouch / CouchDbProperties; LCOM /谷歌/ GSON / GsonBuilder;)V 在com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:4913) 在[内部班级] 引起:java.lang.RuntimeException:org.apache.cxf.interceptor.Fault:com / cloudant / client / api / CloudantClient。(Lcom / cloudant / client / org / lightcouch / CouchDbProperties; Lcom / google / gson / GsonBuilder; )V at org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:116) 在[内部班级] 在 ......还有1个 引起:org.apache.cxf.interceptor.Fault:com / cloudant / client / api / CloudantClient。(Lcom / cloudant / client / org / lightcouch / CouchDbProperties; Lcom / google / gson / GsonBuilder;)V 在org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:163) ......还有4个 引起:java.lang.NoSuchMethodError:com / cloudant / client / api / CloudantClient。(Lcom / cloudant / client / org / lightcouch / CouchDbProperties; Lcom / google / gson / GsonBuilder;)V 在com.cloudant.client.api.ClientBuilder.build(ClientBuilder.java:269) 在 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56) 在java.lang.reflect.Method.invoke(Method.java:620) 在com.ibm.ws.jaxrs20.server.LibertyJaxRsServerFactoryBean.performInvocation(LibertyJaxRsServerFactoryBean.java:636) ......还有4个
我正在使用maven和自由。请建议解决方案。
答案 0 :(得分:0)
看起来您的CloudantBuilder和CloudantClient版本不兼容 - 前者调用后者的构造函数并不存在。
您是否在应用程序中有多个包含Cloudant类的jar?特别是,是否有多个罐子包含相同的类?如果是这样,您将需要删除重复项,以便只存在所需类的任何类 - Java不能使用由单个类加载器定义的类的多个版本,因此重复项没有用例。