ClassNotFoundException при использовании пользовательских библиотек в пути сборки Eclipse

Я использую Eclipse 3.7 (STS) с Tomcat 7, работающим внутри IDE. Я создал новый проект Dynamic Web и добавил один JSP файл в корневую папку веб-контента. Я могу запустить Tomcat и получить доступ к JSP из Eclipse без проблем.

Я добавил несколько сторонних JAR в проект из пользовательских библиотек (я не использую управление maven или auto dependecies). В JSP я ссылаюсь на класс из JAR файла проекта, я могу скомпилировать это без проблем, но когда я развертываю Tomcat, JSP бросает ClassNotFoundException. Очевидно, что Tomcat не может найти JAR из моих настроек библиотеки. Я попытался создать конфигурацию Run As для Tomcat Server, и я установил путь к классу в соответствие с параметрами пути к классу проекта, но у меня по-прежнему возникает одна и та же проблема класса.

Я мог бы обойти эту проблему, вручную скопировав все JAR-проекты в каталог WEB-INF/lib, чтобы webapp мог найти все зависимости, но это абсурдно, и я не ожидаю, что это решение, поскольку это кошмар обслуживания.

Я что-то упустил?

Ответы

Ответ 1

В свойствах проекта перейдите к сборке развертывания. Добавьте туда записи сборки, которые вы вручную добавили в качестве пользовательских библиотек. Это закончится в /WEB-INF/lib развернутой WAR.

enter image description here

Ответ 2

Вам нужно скопировать файлы jar в папку WEB-INF/lib: это то, где они должны быть.

Eclipse должен предложить вам возможность генерировать WAR файл, который включает в себя все зависимости: я не использовал веб-инструменты для хорошего времени, но так или иначе все зависимости должны быть в WEB-INF/lib или классе загрузчик не сможет их найти.