Glassfish 3: Почему я должен развернуть все мои библиотеки в домены / lib /, чтобы заставить его работать? - PullRequest
1 голос
/ 24 сентября 2010

Я только что получил проект от другой группы.Сессионный компонент EJB / веб-сервис.Он развернулся без каких-либо проблем в JavaCAPS 6.

Однако в Oralce Glassfish V3 (3.0.1 Build 22), когда я развернул файл jar (Applicaton / EJB Module), он продолжал жаловаться на определенные внешние библиотеки (которыевходит в банку), не может быть найден.

Ошибка при обработке аннотации: java.lang.NoClassDefFoundError: org / apache / commons / vfs / FileSystemException | #]

JAR-файл Apache VFS находится в банке, но не может найтиЭто.

Однако, если я переместу флягу и ее зависимости в $ Glassfish home / domains / domain1 / lib

Все хорошо.

Что мы здесь не так делаем?

Спасибо

1 Ответ

2 голосов
/ 03 декабря 2010

В v2. * Поддерживаются jar библиотеки корневого уровня модуля ejb, но из-за ограничения безопасности JAVA EE 6, glasssfish V3.1 НЕ поддерживает библиотеки jar внутри модуля ejb-jar (файл *. Jar) для развертывания.Таким образом, вы можете использовать свойство compatibility = v2 для развертывания

Например;

asadmin {server_parameters} deploy --property compatibility=v2 {package}.jar 

Обходной путь Примечание: в Glassfish V3.0 отсутствует свойство совместимости.Необходимо обновить V3.1 или поместить библиотеки в каталог {GlassfishHome} / lib

...