ClassNotFoundException даже после добавления банок зависимости - PullRequest
0 голосов
/ 31 мая 2019

Я создаю простой веб-сервис REST, используя Джерси.И когда я пытаюсь запустить его на сервере (Tomcat 7), я получаю следующее исключение.В моей библиотеке зависимостей Maven я вижу, что класс (com.sun.jersey.spi.container.servlet.ServletContainer) уже присутствует. Нужна помощь.

Exception: 
SEVERE: Servlet /SampleJersey threw load() exception
java.lang.ClassNotFoundException: com.sun.jersey.spi.container.servlet.ServletContainer
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)

1.Я добавил дополнительный mavenЯдро зависимости и сервлет и попробовал.Но это не сработало.

<dependency>
    <groupId>com.sun.jersey</groupId>
    <artifactId>jersey-core</artifactId>
    <version>1.17.1</version>
</dependency>
<dependency>
    <groupId>com.sun.jersey</groupId>
    <artifactId>jersey-servlet</artifactId>
    <version>1.17.1</version>
</dependency>
Я также попробовал следующее: Щелкните правой кнопкой мыши по проекту -> Путь сборки -> Путь сборки -> Добавить библиотеку -> Время выполнения сервера -> Apache Tomcat v7.0

Вот мой pom.xml:

 <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
     <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-server</artifactId>
        <version>1.8</version>
    </dependency>
    <dependency>
    <groupId>com.sun.jersey</groupId>
    <artifactId>jersey-json</artifactId>
    <version>1.19.4</version>
</dependency>
  </dependencies>

И web.xml:

<servlet>
 <servlet-name>Jersey Web Application</servlet-name>
 <servlet-class>
     com.sun.jersey.spi.container.servlet.ServletContainer
 </servlet-class>
        <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
 <servlet-name>Jersey Web Application</servlet-name>
     <url-pattern>/*</url-pattern>
</servlet-mapping>

1 Ответ

1 голос
/ 31 мая 2019

Здесь вы запускаете проект как динамический веб-проект на сервере в eclipse, поэтому вы должны открыть свойства проекта и отправить зависимости maven в каталог сервера, добавив зависимость maven в сборку развертывания.

  1. Щелкните правой кнопкой мыши Проект -> Свойства -> Сборка развертывания -> Добавить -> Записи пути сборки Java -> Зависимость maven
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...