Я смог решить проблему. Мое первоначальное предположение было правильным: моя проблема заключалась в том, что при первом развертывании проекта .ear, который содержит файл jar axis2-1.4.1.jar, загрузчик классов приложения регистрировался как загрузчик классов, способный загружать все классы, которые находится в файле .jar, поскольку никакой другой загрузчик классов не может обслуживать эти классы. (Вы можете проверить следующие ссылки для получения дополнительных разъяснений:
1" > http://thorgull.be/doku.php?id=tutorials:jboss:classloaderisolation#fnt_1
http://community.jboss.org/wiki/JBossClassLoadingUseCases
)
Чтобы решить эту проблему, я создал файл jboss-app.xml (поскольку это проект .ear) и добавил следующее:
<?xml version="1.0" encoding="UTF-8" ?>
<jboss-app>
<loader-repository>
mypackage:loader="myapplication.ear"
</loader-repository>
</jboss-app>
С этим изменением для моего приложения .ear будет создан отдельный дочерний репозиторий (это называется изолированным режимом). Это исправит все проблемы, с которыми кто-либо может столкнуться из-за наличия разных версий одних и тех же пакетов / классов и попыток запуска на одном экземпляре Jboss.
Еще одно решение, которое может быть проще, но не дает большого контроля над тем, какие приложения изолировать и какие из них следует делегировать в корневой репозиторий пакетов / классов, путем изменения ear-deployer.xml (находится в папке вашего развертывания) и установив следующий элемент XML:
<attribute name="Isolated">false</attribute>
до true .
Обязательно прочитайте ссылки, которые я включил в свой пост, чтобы лучше понять, как работают загрузчики классов.
Удачи.