Когда я разрабатывал веб-сервис Axis2 на Eclipse, я заметил, что Eclipse автоматически копирует классы из папки lib Axis2 в папку lib нового проекта. Однако не все классы из папки lib Axis2 копируются. Интересно, что веб-служба работает без проблем при развертывании в Tomcat через Eclipse, даже если некоторые файлы JAR из Axis2 не были скопированы. Кроме того, когда я просматривал временный файл Tomcat, Tomcat, похоже, генерировал файлы jar для перечисленных модулей в модуле modules.list веб-службы.
Может ли кто-нибудь просветить меня относительно того, что происходит на этом? Почему Eclipse не копирует все банки из Axis2? Почему веб-сервис может работать на Tomcat даже без других jar-файлов от Axis2? Для чего эти временные файлы? Когда и почему он генерируется?
Я попытался запустить тот же проект в WebSphere, и я столкнулся с исключением ClassDefNotFound из-за отсутствующих jar-файлов. Моя проблема была решена, когда я скопировал все файлы Axis2, которые не были скопированы Eclipse, в мой проект. Но мне не нравится мое решение, потому что Tomcat может запустить мой проект даже без этих банок. Является ли мое решение действительно правильным решением? Или мне не хватает параметра конфигурации?
Это только для пояснения:
Мой веб-сервис уже запущен в Axis2. Моя политика загрузки классов установлена на PARENT_LAST. Я знаю, что, поскольку WebSphere имеет свою собственную конфигурацию Axis2, политика загрузки классов должна быть установлена на PARENT_LAST, чтобы WebSphere использовала Axis2 из самого проекта. Помимо настройки политики загрузки классов, я сделал что-то, чтобы мой веб-сервис работал в WebSphere. Я опишу то, что я сделал выше. У меня вопрос, почему такой метод должен быть принят?