2017-02-24 4 views
1

私はジャージクライアントが設定されていると、次のように要求を行う:ジャージークライアントNoSuchMethodError:org.glassfish.jersey.client.ClientRequest.getLengthLong()J

private Response getResponse(Authorization authInstance, String filePath) { 
    return webResourceInstance.request().header("Authorization", 
      encode(authInstance)).put(Entity.entity(getFileInStream(filePath), MediaType.APPLICATION_OCTET_STREAM)); 
} 

は、この例外を取得:

javax.ws.rs.ProcessingException: org.glassfish.jersey.client.ClientRequest.getLengthLong()J 
at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:261) 
at org.glassfish.jersey.client.JerseyInvocation$1.call(JerseyInvocation.java:684) 
at org.glassfish.jersey.client.JerseyInvocation$1.call(JerseyInvocation.java:681) 
at org.glassfish.jersey.internal.Errors.process(Errors.java:315) 
at org.glassfish.jersey.internal.Errors.process(Errors.java:297) 
at org.glassfish.jersey.internal.Errors.process(Errors.java:228) 
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:444) 
at org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:681) 
at org.glassfish.jersey.client.JerseyInvocation$Builder.method(JerseyInvocation.java:437) 
at org.glassfish.jersey.client.JerseyInvocation$Builder.put(JerseyInvocation.java:326) 
at oracle.esscs.rest.core.REST_PUTProcessor.getResponse(REST_PUTProcessor.java:139) 
at oracle.esscs.rest.core.REST_PUTProcessor.execRequest(REST_PUTProcessor.java:123) 
at oracle.esscs.rest.setup.FilesUtils.uploadFiletoUserDir(FilesUtils.java:73) 
at oracle.esscs.rest.tests.cubedesigner.TestBSOTemplates.testBSOTemplates(TestBSOTemplates.java:73) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
at java.lang.reflect.Method.invoke(Unknown Source) 
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:104) 
at org.testng.internal.Invoker.invokeMethod(Invoker.java:645) 
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:851) 
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1177) 
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129) 
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112) 
at org.testng.TestRunner.privateRun(TestRunner.java:756) 
at org.testng.TestRunner.run(TestRunner.java:610) 
at org.testng.SuiteRunner.runTest(SuiteRunner.java:387) 
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:382) 
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:340) 
at org.testng.SuiteRunner.run(SuiteRunner.java:289) 
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) 
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) 
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1293) 
at org.testng.TestNG.runSuitesLocally(TestNG.java:1218) 
at org.testng.TestNG.runSuites(TestNG.java:1133) 
at org.testng.TestNG.run(TestNG.java:1104) 
at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:132) 
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:236) 
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:81) 
Caused by: java.lang.NoSuchMethodError: org.glassfish.jersey.client.ClientRequest.getLengthLong()J 
at org.glassfish.jersey.client.internal.HttpUrlConnector._apply(HttpUrlConnector.java:364) 
at org.glassfish.jersey.client.internal.HttpUrlConnector.apply(HttpUrlConnector.java:285) 
at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:252) 
... 38 more 

私は同じ質問hereを見ましたが、受け入れられる答えはなく、私はすでにジャージークライアント&ジャージーメディアジャーソンジャクソンバージョン2.25.1を使用しています。また、この方法ではdocumentationとして利用可能であるようです。

以前はすべて正常に機能していましたが、重要なのかどうかわからないJersey 2.xに移行しようとしています。

答えて

4

org.glassfish.jersey.client.ClientRequest.getLengthLong()のエラーはjersey-common-2.25.1.jarにあります。だから、

、あなたがmavenを使用している場合は、あなたのpom.xmlに次の依存関係を含める -

<dependency> 
    <groupId>org.glassfish.jersey.core</groupId> 
    <artifactId>jersey-common</artifactId> 
    <version>2.25.1</version> 
</dependency> 
+0

はありがとうございました! – mbsingh