| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > glassfish v3 ошибка при деплое, не находит класс |
| Автор: NikitOS9 4.6.2010, 12:55 | ||
| такая ситуация; сервак glassfish3, есть два модуля
в модуле domainModel.jar находятся ejb, в которых используются некоторые классы из webClients.war, например если точнее, то из webClients.war\WEB-INF\classes\flexModel\FlexHouse.class при деплое ошибка что в модуле domainModel.jar ... java.lang.RuntimeException: EJB Container initialization error ... Caused by: java.lang.NoClassDefFoundError: flexModel/FlexHouse на glassfish v2 все находилось и работало, как тут и куда прописать пути к модулям ? спасибо |
| Автор: powerOn 4.6.2010, 13:47 |
| Мне кажется что доменная модель не должна ничего знать о своих клиентах, т.е. о классах из более высших слоев. Зависимость между модулями должна быть Web -> Domain, а не Web <-> Domain. Скорее всего у вас архитектурная ошибка. |
| Автор: NikitOS9 4.6.2010, 13:55 |
| это ошибка работала на glassfish v2, и если не ошибаюсь начиная с ejb3.1, например в eclipselink, ejb можно упаковывать в war модули и это считается нормальным |
| Автор: NikitOS9 4.6.2010, 14:28 |
| так данное приложение требует, в WEB-INF\classes\flexModel\ лежат классы для серилизации и обратно, java <-> as3 объектов. в ejb тоже нужно иметь доступ к этим классам для преобразования в доменные классы и тд.. оффтоп конечно, вообще связи могут быть какие угодно, кто сказал что только однонаправленные.. да и вопрос как в glassfish v3 обойти данную непонятную проблему |
| Автор: powerOn 4.6.2010, 15:35 | ||
| можно попробовать следующим образом: переместить классы flexModel\** в архив domainModel.jar или вынести зависимости в отдельную либу, потом настроить их подгрузку через (<library-directory> настройка в application.xml) или попробовать загружать модули в определенном порядке (<initialize-in-order> настройка в application.xml)
принципы объектно-ориентированного дизайна говорят: http://c2.com/cgi/wiki?CouplingAndCohesion. |
| Автор: NikitOS9 4.6.2010, 16:32 |
| эт похоже изменения в v3 вот тут такая же история http://forums.java.net/jive/thread.jspa?threadID=68567 http://forums.java.net/jive/message.jspa?messageID=375093 решение перепаковывать по другому ear, или asadmin deploy --property compatibility=v2 foo.ear |