-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-транспорты-клиент-HC-3.1.7.jar
- CXF-расслоение-jaxrs-2.1.2.jar
- CXF-RT-Frontend-jaxrs-3.1.7.jar
- CXF-ядро-3.1.7.jar
- CXF-RT-транспорты-клиента-3.1.7.jar
- javax.persistence-2.1.1.jar -cxf-апи-2.7.18.jar
- javax.ws.rs-api-2.0.jar
Кажется странным, что все ваши банки имеют версию 3.1.7, за исключением 'cxf-bundle-jaxrs-2.1.2.jar', которая равна 2.1.2 – mangotang