Раньше я использовал Maven в нескольких проектах, но они уже были кем-то настроены.Я быстро понял основные понятия (группы, артефакты и версии для jar-файлов, локальных и удаленных репозиториев), поэтому предположил, что если меня спросят, я смогу легко создать новый проект с нуля.
Оказалось, что это не тот случай, когда я имею дело с несколькими модулями, которые зависят друг от друга.Я копался в документах Maven, но они либо слишком краткие, либо слишком технические (иногда мне кажется, что люди из Maven написали это для себя, а не для пользователей Maven).Поэтому я прошу помощи сообщества.
Вот типичный сценарий:
Три репозитория:
Я строю обычный проект Java EE, состоящий из одного EJB-контейнера с соответствующим клиентомjar, веб-модуль и JPA-модуль (мне нравится держать свои сущности и все db-соединения отделенными от бизнес-логики).Это дает мне 5 проектов в моей IDE:
myapp-ear
myapp-ejb
myapp-ejb-client
myapp-jpa
myapp-web
myapp-jpa
используется myapp-ejb
и myapp-web
.myapp-ejb-client
содержит бизнес-интерфейсы для моих EJB-компонентов.
Как мне все это настроить?Я подозреваю, что мне нужен какой-то родительский проект, но я не уверен, как организовать межпроектное разрешение зависимостей.Например: в настоящее время, когда я указываю
<dependency>
<groupId>com.mycompany.myapp</groupId>
<artifactId>myapp-jpa</artifactId>
<version>0.1-SNAPSHOT</version>
</dependency>
в myapp-ejb
, pom.xml
maven пытается найти его в моем хранилище и сообщает, что .jar не может быть найден.Даже если я собираю и устанавливаю все компоненты приложения в свой локальный репозиторий один за другим, Maven всегда не может создать сам файл ear: (
Я бы хотел, чтобы он работал под Eclipse или NetBeans.