powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Взаимозависимости модулей в maven
9 сообщений из 9, страница 1 из 1
Взаимозависимости модулей в maven
    #34753291
Legka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Копаюсь с maven - не нахожу, как разруливается следующая ситуёвина:

Имеем:
- EJB модуль (интерфейсы и реализация)
- Web модуль (клиент EJB)
- другой клиент того же EJB (а ля java-модуль)
- еще некий модуль (не зависит от EJB модуля)

Пердполагается, что каждый модуль работает в своей JVM. Maven компилит и собирает все ето добро в jar'ники (war'ник в случай с Web модулем).

Проблема раз: EJB интерфейсы отсутствуют в сборках клиентов, а кидать EJB jar в либы клиентов некорректно - на клиенте нужны только интерфейсы.
Вопрос: Как заставить maven package'ить интерфейсы в клиентах? Напрашивается решение разбить EJB модуль на 2 - интерфейсы и реализация отдельно друг от друга, но что-то мне это решение не очень нравится.

Проблема два: Есть некий класс Foo, используемый во всех модулях; а также класс Bar используемый только в некоторых из них (но не в каком-то одном!).
Вопрос: Куда пихать Foo.java и Bar.java чтобы они собирались так же, как и вышеупомянутые интерфейсы EJB?

Заранее спасибо.
...
Рейтинг: 0 / 0
Взаимозависимости модулей в maven
    #34753471
Фотография brut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Legka Напрашивается решение разбить EJB модуль на 2 - интерфейсы и реализация отдельно друг от друга, но что-то мне это решение не очень нравится.

Проблема два: Есть некий класс Foo, используемый во всех модулях; а также класс Bar используемый только в некоторых из них (но не в каком-то одном!).
Вопрос: Куда пихать Foo.java и Bar.java чтобы они собирались так же, как и вышеупомянутые интерфейсы EJB?

Заранее спасибо.
Почему не нравится? ИМХО нормальное решение ввести модуль Common в котором будут интерфейсы. Зависимость будет: Web от Common; Ejb от Common. А сам EJB модуль указать как тот который используется только для компиляции, при сборке не упаковывать.
http://]maven.apache.org/pom.html#Dependencies
Посмотрите, на scope.
Наличие модуля Common позволят выносить туда все общее, что, опять таки ИМХО, гараздо понятние чем копировать класы из EJB в Web при сборке.
...
Рейтинг: 0 / 0
Взаимозависимости модулей в maven
    #34753742
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У нас внешние интерфейсы EJB со всеми эксепштнами и виртуальными объектами вынесены в отдельный модуль. Очень удобно.

Сам не пробовал, но думаю можно заставить мавен напрямую или через ant, компилить внешние интерфейсы ejb в отдельный jar, только вот как потом в описании другого модуля указать, что ему нужен только внешний интерфейс, даже не знаю...
...
Рейтинг: 0 / 0
Взаимозависимости модулей в maven
    #34753754
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Legka

Проблема два: Есть некий класс Foo, используемый во всех модулях; а также класс Bar используемый только в некоторых из них (но не в каком-то одном!).
Вопрос: Куда пихать Foo.java и Bar.java чтобы они собирались так же, как и вышеупомянутые интерфейсы EJB?

Заранее спасибо.

А вот таким дроблением можно и затр...ся. Если классы Foo и Bar относятся к одной предметной области, то и делай одну библиотеку из них и таскай везде и пофиг какой класс чаще используется. А если они совсем разные, то разноси по отдельным библиотекам.
...
Рейтинг: 0 / 0
Взаимозависимости модулей в maven
    #34756532
Legka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
brutА сам EJB модуль указать как тот который используется только для компиляции, при сборке не упаковывать.

Насчет этого недопонял. Вы имели ввиду модуль common?
...
Рейтинг: 0 / 0
Взаимозависимости модулей в maven
    #34756542
Legka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wessenУ нас внешние интерфейсы EJB со всеми эксепштнами и виртуальными объектами вынесены в отдельный модуль. Очень удобно.

Сам не пробовал, но думаю можно заставить мавен напрямую или через ant, компилить внешние интерфейсы ejb в отдельный jar, только вот как потом в описании другого модуля указать, что ему нужен только внешний интерфейс, даже не знаю...

Так получается два жарника - в одном интерфейсы, в другом реализация. Я правильно понял? Как это дело потом деплоится? Подозреваю, что контейнер ожидает увидеть один жар для EJB модуля.
...
Рейтинг: 0 / 0
Взаимозависимости модулей в maven
    #34757061
Фотография brut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Legka brutА сам EJB модуль указать как тот который используется только для компиляции, при сборке не упаковывать.

Насчет этого недопонял. Вы имели ввиду модуль common?
Ejb і Common упаковывать в EAR (если используете)
Ejb для компиляции нужен Common, его использовать только для компиляции но не упаковывать в Ejb

Legka wessenУ нас внешние интерфейсы EJB со всеми эксепштнами и виртуальными объектами вынесены в отдельный модуль. Очень удобно.

Сам не пробовал, но думаю можно заставить мавен напрямую или через ant, компилить внешние интерфейсы ejb в отдельный jar, только вот как потом в описании другого модуля указать, что ему нужен только внешний интерфейс, даже не знаю...

Так получается два жарника - в одном интерфейсы, в другом реализация. Я правильно понял? Как это дело потом деплоится? Подозреваю, что контейнер ожидает увидеть один жар для EJB модуля.
контейнеру все равно, но в даном случае он один и увидит. Common простой jar не EJB там не реализации EJB только интерфейсы.
...
Рейтинг: 0 / 0
Взаимозависимости модулей в maven
    #34757156
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Legka
Так получается два жарника - в одном интерфейсы, в другом реализация. Я правильно понял? Как это дело потом деплоится? Подозреваю, что контейнер ожидает увидеть один жар для EJB модуля.

Да, понял все правильно.
Контейнеру пофиг до джаров, он вероятно даже не знает об их существовании. Контейнер работает с уже загруженными классами и ресурсами.
...
Рейтинг: 0 / 0
Взаимозависимости модулей в maven
    #34764310
hyh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LegkaНапрашивается решение разбить EJB модуль на 2 - интерфейсы и реализация отдельно друг от друга
Вообще-то это и есть 'классическое правильное' решение - интерфейсы должны быть вынесены и дёргаться в дальнейшем будут именно они, а кто, где, как, етс поставляет их реализацию другие модули вообще не должно никак беспокоить.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Взаимозависимости модулей в maven
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]