Резюме
Классы из сторонних файлов jar доступны при добавлении в путь сборки во время выполнения автономного теста JUnit, но «ClassNotFoundException» при доступе через обычные старые объекты Java из динамической сети. проект.
- Используемая IDE: Eclipse
- Веб-сервер: Apache 7
Подробности
Для моего проекта требовалось много сторонних jar-файлов, а именно sqlite, eclipse jdt и jsoup. Я создал этот проект как отдельный проект, и все классы из банок были доступны нормально.
Но теперь я скопировал всю папку «src» в «динамический веб-проект». Я создал папку «jars», которая содержит все эти сторонние банки, и убедился, что все они добавлены в путь сборки, выполнив следующие действия:
Свойства проекта --> Путь сборки Java --> Библиотеки --> Добавить банки --> Выберите все файлы jar из папки jars.
Эти банки доступны, когда я запускаю автономный тест 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)
Я уверен, что это как-то связано с моим недостатком знаний о том, как приложения развертываются в Интернете.