2013-06-25 5 views
0

У меня есть проект maven в Eclipse Java EE IDE для веб-разработчиков. При запуске Tomcat, я получаю сообщение об ошибке для класса, который Я вижу, что я включил.java.lang.ClassNotFoundException для класса во внешнем JAR

Мой вопрос: Нужно ли добавлять эти JAR в дополнительное место из-за Tomcat Apache?

Ошибка:

SEVERE: Servlet /Resource threw load() exception java.lang.ClassNotFoundException: org.odata4j.jersey.producer.resources.ODataApplication at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:171) at com.sun.jersey.core.reflection.ReflectionHelper.classForNameWithException(ReflectionHelper.java:240) at com.sun.jersey.core.reflection.ReflectionHelper.classForNameWithException(ReflectionHelper.java:220) at com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:711)

А вот класс в моей библиотеке:

enter image description here

UPDATE: My Web Сборка Развертывание выглядит следующим образом: enter image description here

+0

Включена ли библиотека в файл .war, который вы развертываете? – aglassman

+0

Я сейчас просто тестирую его на сервере Tomcat - мне не нужен файл .war, пока я не захочу развернуть, верно? – AllieCat

+0

Как вы развертываете его на сервере tomcat? – aglassman

ответ

1

Этот вопрос вы видите, связано с тем, что tomcat i глядя на неправильный каталог. В настоящее время он скорее всего указал на ваш каталог src/main/webapp вашего проекта. Это не связано с тем, как работает maven. Maven загружает зависимости, но будет включать их только в целевую сборку. Вам нужно, чтобы сервер tomcat посмотрел на target/myapp-0.0.1, или построил войну и развернул ее. Самое простое решение на данный момент было бы для вас использовать плагин tomcat. После настройки вы можете использовать встроенный сервер и просто использовать следующую команду: «mvn tomcat: run».

Maven Tomcat Plugin Docs

UPDATE:

Я посмотрел на настройки свойств, и вы должны действительно иметь возможность редактировать настройки «сборки веб-развертывания» для вашего проекта (в свойствах проекта). Посмотрите скриншот, как у меня установлена ​​моя установка. Обратите внимание, что Maven Dependencies отображается. http://imgur.com/ofxryns

+0

Aglassman, большое спасибо за ответ (и обновление, которое выглядит намного проще!) Просто быстрый вопрос: когда вы сказали, чтобы заметить, как Maven Dependencies отображается - это то, что мне нужно для отображения? Я думаю, что это уже ... см. Обновление выше. – AllieCat

+1

Ну, похоже, он правильно отображен. Следующее, что я проверил, - это то, что у вас есть область зависимостей, установленная в вашем pom.xml для этой конкретной банки. Если он настроен на компиляцию или проверку, это может вызвать проблему (указать ее в качестве параметра). Если это не поможет, я не уверен, что знаю, что попробовать дальше. – aglassman

+0

Вы правы - мне нужна зависимость в моем pom.xml. Странно, однако, что я не мог добавить odata4j-jersey. То, что разрешило ошибку, заключалось в добавлении зависимости odata4j-examples! – AllieCat

Смежные вопросы