ClientBuilder не найден - PullRequest
       59

ClientBuilder не найден

0 голосов
/ 08 июля 2020

Я пытаюсь создать клиент jersey, который отправляет запрос на получение в веб-службу RESTful. Но я получаю следующую ошибку:

Exception in thread "main" java.lang.NoClassDefFoundError: javax/ws/rs/client/ClientBuilder
    at helper.RestClient.<init>(RestClient.java:23)
    at MyTest.main(MyTest.java:11)
Caused by: java.lang.ClassNotFoundException: javax.ws.rs.client.ClientBuilder
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
    ... 2 more

Я использую следующие зависимости Gradle:

dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
    compile group: 'com.google.actions', name: 'actions-on-google', version: '1.+'
    compile group: 'com.googlecode.json-simple', name: 'json-simple', version: '1.1.1'
    testCompile group: 'junit', name: 'junit', version: '4.12'
    compile 'com.google.firebase:firebase-admin:6.14.0'
    compile group: 'org.glassfish.jersey.core', name: 'jersey-client', version: '2.31'
    compile group: 'org.glassfish.jersey.media', name: 'jersey-media-json-jackson', version: '2.31'
}

Это код моего клиента jersey:

package helper;

import domain.Medication;

import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.MediaType;

public class RestClient {
    private static final String REST_URI = <URL>
    private Client client;

    public RestClient() {
        client  = ClientBuilder.newClient();
    }

    public Medication fetchMedication(String id, String token) {
        return client
                .target(REST_URI)
                .path("medications/" + id)
                .request(MediaType.APPLICATION_JSON)
                .header(HttpHeaders.AUTHORIZATION, "Bearer " + token)
                .get(Medication.class);
    }
}

1 Ответ

0 голосов
/ 10 июля 2020

Похоже, в моем проекте возникла проблема с gradle. Я переключился на maven, и он заработал.

...