Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> glassfish v3 ошибка при деплое, не находит класс 
:(
    Опции темы
NikitOS9
Дата 4.6.2010, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 6.12.2007

Репутация: 1
Всего: 1



такая ситуация;
сервак glassfish3, есть два модуля

Код

<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://java.sun.com/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd"
             version="6">
  <application-name>turkeyForSale</application-name>
  <module id="domainModel-EJB">
    <ejb>domainModel.jar</ejb>
  </module>
  <module id="webClients-War">
    <web>
      <web-uri>webClients.war</web-uri>
      <context-root>/</context-root>
    </web>
  </module>
</application>


в модуле 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 все находилось и работало, как тут и куда прописать пути к модулям ?

спасибо
PM MAIL   Вверх
powerOn
Дата 4.6.2010, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 28
Всего: 159



Мне кажется что доменная модель не должна ничего знать о своих клиентах, т.е. о классах из более высших слоев. Зависимость между модулями должна быть Web -> Domain, а не Web <-> Domain. Скорее всего у вас архитектурная ошибка.  


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
NikitOS9
Дата 4.6.2010, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 6.12.2007

Репутация: 1
Всего: 1



это ошибка работала на glassfish v2, и если не ошибаюсь начиная с ejb3.1, например в eclipselink, ejb можно упаковывать в war модули и это считается нормальным
PM MAIL   Вверх
powerOn
Дата 4.6.2010, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 28
Всего: 159



Цитата(NikitOS9 @  4.6.2010,  14:55 Найти цитируемый пост)
например в eclipselink, ejb можно упаковывать в war модули и это считается нормальным 

можно то можно, вопрос в логической связи слоев, а она у вас двунаправленная, а желательно делать однонаправленную, тем самым снижая coupling и повышая reusability. 


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
NikitOS9
Дата 4.6.2010, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 6.12.2007

Репутация: 1
Всего: 1



так данное приложение требует, в WEB-INF\classes\flexModel\ лежат классы для серилизации и обратно, java <-> as3 объектов.
в ejb тоже нужно иметь доступ к этим классам для преобразования в доменные классы и тд..

оффтоп конечно, вообще связи могут быть какие угодно, кто сказал что только однонаправленные..  
да и вопрос как в glassfish v3 обойти данную непонятную проблему
PM MAIL   Вверх
powerOn
Дата 4.6.2010, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 28
Всего: 159



можно попробовать следующим образом: 
переместить классы flexModel\** в архив  domainModel.jar 
или
вынести зависимости в отдельную либу, потом настроить их подгрузку через (<library-directory> настройка в application.xml)
или
попробовать загружать модули в определенном порядке (<initialize-in-order> настройка в application.xml)

Цитата(NikitOS9 @  4.6.2010,  15:28 Найти цитируемый пост)
вообще связи могут быть какие угодно, кто сказал что только однонаправленные..  

принципы объектно-ориентированного дизайна говорят: http://c2.com/cgi/wiki?CouplingAndCohesion.


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
NikitOS9
Дата 4.6.2010, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 6.12.2007

Репутация: 1
Всего: 1



эт похоже изменения в 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

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0717 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.