Eclipse не развертывает файлы jar в каталоге WEB-INF / lib - PullRequest
0 голосов
/ 03 августа 2010

Для интеграции JSF с Spring я добавил эти строки в web.xml:

<context-param>  
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>  
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>  
    <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>

И я добавил все зависимости Spring с помощью Maven, но при запуске проекта я получаю следующие сообщения об ошибках:

java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
java.lang.ClassNotFoundException: org.springframework.web.context.request.RequestContextListener

Когда я взглянул на папку /WEB-INF/lib, я не нашел файлов JAR, хотя в объявлении pom.xml.

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>${spring.version}</version>
</dependency>

были обнаружены зависимости.проблема в том, что JAR не упакованы с проектом.У вас есть идея, как это исправить?

Ответы [ 8 ]

7 голосов
/ 02 ноября 2012

eclipse project правой кнопкой мыши -> Свойства -> Сборка развертывания -> Добавить -> Запись пути сборки Java.

1 голос
/ 26 мая 2016

Произвел обновление maven force, а затем установил сборку и запустил tomcat, чтобы найти jar-файлы в webapp / libs.

щелкните правой кнопкой мыши проект, выберите maven> updateproject> выберите моментальные снимки принудительного обновления> OK.

1 голос
/ 11 июля 2012

Зависимости Maven хранятся в ~ / .m2. Если вы запустите mvn install и развернете напрямую (с плагином Jetty или Tomcat), в WEB-INF / lib не будет jar-файлов.

С другой стороны, если вы запускаете mvn package для создания WAR-файла, WAR-файл должен содержать все необходимые файлы jar для развертывания вашего приложения. Вы можете распаковать этот WAR-файл с помощью unzip <file.war> и проверить, есть ли ваши банки.

Что касается меня, я получил ту же самую ошибку, и я заметил, что мне не хватало зависимости в моем pom.xml

<dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-web</artifactId>
   <version>${spring.version}</version>
</dependency>
1 голос
/ 07 ноября 2011

Если библиотека, которая не была добавлена ​​в папку lib, разрабатывается в той же рабочей области, я бы предложил включить фасет "Utility Module" в свойствах проекта проекта библиотеки. Иногда Eclipse не копирует jar в папку WEB-INF / lib, даже если все остальное настроено правильно.

0 голосов
/ 22 ноября 2018

Вы обновили проект, выбрав проект в exlorer проекта и выбрав Запустить Maven-> Обновить проект ...

Убедитесь, что после обновления, выбрав свойства проекта, в сборке Depluyment у вас естьЗависимости Maven как источник, связанный с WEB-INF как путь развертывания.Если нет, просто добавьте его, нажав кнопку Добавить ..., выбрав Java Buid Path Entries, нажав следующую кнопку и выбрав Maven Dependences.

Затем Eclipse должен развернуть библиотеки на сервере.

0 голосов
/ 16 августа 2016

старый вопрос, но у меня была эта проблема. Исправлено переключением на JDK вместо JRE!

0 голосов
/ 03 августа 2010

И я добавил все пружинные зависимости, используя Maven, но при запуске проекта я получаю следующие сообщения об ошибках (...)

Как вы запускаете проект?Вы используете m2eclipse?Как вы создали проект?Вы импортировали существующий проект Maven в Eclipse?

Когда я взглянул на папку / WEB-INF / lib, я не нашел файлов JAR, хотя зависимости объявлены в pom.xml

Зависимости выглядят нормально, но ... Какая папка WEB-INF/lib?Где именно?AFAIK, m2eclipse действительно не «развернет» файлы jar в WEB-INF/lib (но создаст собственный путь к классам, включая их).

Я думаю, что проблема в том, что JAR не упакованыпроект.У вас есть идея, как это исправить?

Я не уверен, что понял, что вы имеете в виду.Что вы получаете при запуске mvn install?Война выглядит хорошо?Не могли бы вы показать свой pom.xml?

0 голосов
/ 03 августа 2010

Оба org.springframework.web.context.ContextLoaderListener и org.springframework.web.context.request.RequestContextListener присутствуют в пакете Spring-Web, по крайней мере, в версии 2.5, которая является наиболее распространенной.

Также убедитесь, что вы включили следующее в ваш pom.xml

    <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring</artifactId>
         <version>${your.spring.version}</version>
    </dependency> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...