Не удается найти класс org.glassfish.jersey.internal.inject.Binder - PullRequest
1 голос
/ 26 июня 2019

У меня есть существующий проект веб-службы SOAP, и я хочу расширить его, чтобы он также поддерживал службы RESTful.

Когда я создаю пустой веб-проект и следую инструкциям, используя найденное руководство здесь , все работает просто отлично, но в моем существующем проекте я получаю ошибку java.lang.ClassNotFoundException: org.glassfish.jersey.internal.inject.Binder.Я позаботился о том, чтобы поместить все библиотеки в папку WEB-INF и включить их, как я это сделал с тестовым проектом.

Вот часть моего web.xml:

<servlet>
    <servlet-name>XFireServlet</servlet-name>
    <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>
    <load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>XFireServlet</servlet-name>
    <url-pattern>/services/*</url-pattern>
</servlet-mapping>


<servlet> 
  <servlet-name>Jersey RESTful Application</servlet-name> 
  <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> 
  <init-param> 
    <param-name>jersey.config.server.provider.packages</param-name> 
    <param-value>com.rest</param-value> 
  </init-param> 
</servlet> 
<servlet-mapping> 
  <servlet-name>Jersey RESTful Application</servlet-name> 
  <url-pattern>/rest/*</url-pattern> 
</servlet-mapping>

А вот мой класс UserService:

@Path("/UserService") 
public class UserService {
    User user = new User();

    @GET
    @Path("/users")
    @Produces(MediaType.TEXT_PLAIN)
    public String getUsers() {
        return user.getHello();
    } 
}

Я получаю сообщение об ошибке при попытке вызвать его с помощью Postman с URL: http://localhost:8080/project/rest/UserService/users

Я не могу воспроизвести это в другомпроект.Я пытался использовать те же библиотеки и ту же версию Java EE (7.0), и она прекрасно работает.

...