Итак, я создал веб-сервис в this thread и, наконец, мне удалось решить проблему. Теперь я пытаюсь использовать этот веб-сервис.Restful webservices - NoClassDefFoundError: org/glassfish/jersey/ExtendedConfig
Я создал новый веб-проект в Netbeans, и я использую Apache Tomcat. Вот код для использования веб-сервиса. Я прочитал некоторые уроки для создания этого кода.
package com.client;
import java.net.URI;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriBuilder;
import org.glassfish.jersey.client.ClientConfig;
public class HelloClient {
public void consumeRest(){
ClientConfig config = new ClientConfig();
Client client = ClientBuilder.newClient(config);
WebTarget target = client.target(getBaseURI());
System.out.println("response");
System.out.println(target.path("hello").path("world").request()
.accept(MediaType.APPLICATION_JSON).get(Response.class)
.toString());
}
private URI getBaseURI() {
return UriBuilder.fromUri("http://localhost:8084/restful_example").build();
}
}
Я создал основной класс для вызова метода потребления. Когда я бегу, я получаю это исключение:
Exception in thread "main" java.lang.NoClassDefFoundError: org/glassfish/jersey/ExtendedConfig
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at com.client.HelloClient.consumeRest(HelloClient.java:29)
at com.client.main.main(main.java:16)
Caused by: java.lang.ClassNotFoundException: org.glassfish.jersey.ExtendedConfig
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 14 more
Java Result: 1
Я предполагаю, что это проблема ЛИЭС, но я не мог решить. Недостаточно использовать только JAX-RS 2.0, поэтому я также использую Jersey libs.
Что здесь не так? Правильно ли это использовать этот веб-сервис? Я видел некоторые другие версии, и я не уверен, какой из них использовать.
вы используете Maven? –
Нет, я никогда не использовал maven – user3641702
Вы добавили файл jar внутри каталога lib домена? –