2016-09-25 90 views
-1

嗨,以下是我的代碼,我是新的CXF。這給出了錯誤。如何解決這個問題?CXF3.1-java.lang.AbstractMethodError

我的代碼: -

String username = "myusername"; 
    String password = "myPassword"; 

    String usernameAndPassword = username + ":" + password; 
    String authorizationHeaderName = "Authorization"; 
    String authorizationHeaderValue = "Basic " + java.util.Base64.getEncoder().encodeToString(usernameAndPassword.getBytes()); 

    // Build the form for a post request 
    MultivaluedMap< String, String> formParameters = new MultivaluedHashMap(); 
    formParameters.add("field1", "fieldValue1"); 
    formParameters.add("field2", "fieldValue2"); 

    // Perform a post request 
    String restResource = "https://restserver:8080/app-name/rest-api/"; 
    Client client = ClientBuilder.newClient(); 
    Response res = client.target(restResource) 
     .path("login") // API Module Path 
     .request("application/json") // Expected response mime type 
     .header(authorizationHeaderName, authorizationHeaderValue) // The basic authentication header goes here 
     .post(Entity.form(formParameters)); 

以下是錯誤: -

Exception in thread "main" java.lang.AbstractMethodError: javax.ws.rs.core.UriBuilder.path(Ljava/lang/String;)Ljavax/ws/rs/core/UriBuilder; 
at org.apache.cxf.jaxrs.client.spec.ClientImpl$WebTargetImpl.path(ClientImpl.java:364) 
at org.ymd.CxfClient.main(CxfClient.java:35) 

我的依賴關係: -

  • CXF-RT-RS -client-3.1.7.jar
  • CXF-RT-傳輸-HTTP-HC-3.1.7.jar
  • CXF束-JAXRS-2.1.2.jar
  • CXF-RT-前端-JAXRS-3.1.7.jar
  • CXF核-3.1.7.jar
  • CXF-RT-傳輸-HTTP-3.1.7.jar
  • javax.persistence-2.1.1.jar -cxf-API-2.7.18.jar
  • javax.ws.rs-api-2.0.jar
+2

看起來很奇怪,所有的罐子都是3.1.7版本,除了'cxf-bundle-jaxrs-2.1.2.jar',它是2.1.2 – mangotang

回答

0

我解決了我的問題。這是因爲版本衝突。當我使用Maven獲取依賴關係時,所有事情都得到了解決。