Резюме
Классы от сторонних jar файлов доступны при добавлении в путь сборки при выполнении автономного теста JUnit, но « ClassNotFoundException » при доступе через простые старые объекты Java из динамического веб-проект.
- IDE используется: Eclipse
- Веб-сервер: Apache 7
Подробнее
Мой проект требовал много сторонних jar-файлов, а именно sqlite, eclipse jdt & jsoup. Я создал этот проект как самостоятельный проект, и все классы из банок были доступны прекрасно.
Но теперь я скопировал всю папку "src" в "динамический веб-проект". Я создал папку "jars", которая содержит все эти jar-файлы сторонних разработчиков, и убедитесь, что все они добавлены в путь сборки, выполнив следующие действия:
Свойства проекта -> Путь сборки Java -> Библиотеки -> Добавить jar -> Выбрать все файлы jar из папки jars.
Эти jar-файлы хорошо доступны, когда я запускаю автономный тест JUnit внутри веб-проекта. Обратите внимание, что этот тест junit ни в коем случае не требует сервера.
Но когда я пытаюсь "Запустить на сервере ..", я продолжаю получать ClassNotFoundException, как это для всех сторонних классов:
java.lang.ClassNotFoundException: org.sqlite.JDBC
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1672)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1517)
Я уверен, что это как-то связано с моим незнанием того, как приложения развертываются в сети.