2016-09-25 2 views
-1

Hallo das Folgende ist mein Code und ich bin neu CXF. das gibt einen Fehler. Wie löst man das?CXF3.1-java.lang.AbstractMethodError

Mein Code: -

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)); 

Im Folgenden ist der Fehler: -

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) 

Meine Abhängigkeiten: -

  • cxf-rt-rs -client-3.1.7.jar
  • cxf-rt-Transporte-http-hc-3.1.7.jar
  • cxf-Bündel-jaxrs-2.1.2.jar
  • cxf-rt-Frontend-jaxrs-3.1.7.jar
  • cxf-Core-3.1.7.jar
  • cxf-rt-Transporte-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

Es scheint seltsam, dass alle Ihre Gläser Version 3.1.7 sind, außer für 'cxf-bundle-jaxrs-2.1.2.jar', das 2.1.2 ist – mangotang

Antwort

0

Ich habe mein Problem gelöst. Es ist wegen Versionskonflikt. Wenn ich Maven benutze, um Abhängigkeiten zu bekommen, wurde alles gelöst.