Netbeans запускает многомодульный проект Maven

Недавно я пытался работать с NetBeans и не понимаю, как он обрабатывает многомодульные проекты Maven.

Мой проект имеет довольно сложную структуру модулей, и когда мы работаем над ним (мы в основном используем IntelliJ Community Edition), мы не хотим открывать все его модули (~ 50 модулей), потому что загрузка проекта займет несколько часов, вместо этого мы создал модуль «рабочей области»: папку с pom.xml, которая имеет тип упаковки pom и определяет модули, которые я хотел бы загрузить.

Допустим, он определяет модули A, B, C.

У нас есть наш метод main (мы не используем контейнеры) в модуле A, который является низкоуровневым инфраструктурным модулем.

В качестве зависимости времени выполнения нам нужны A, B, C. Но A на самом деле не зависит от B, C, а скорее B и C зависят от A (с точки зрения зависимостей Maven).

Итак, мы создали еще один модуль, назовем его runner, где мы определяем все зависимости. В нашем рабочем пространстве pom.xml есть объявление модуля runner, поэтому для запуска проекта из IntelliJ мы используем «путь к классам модуля runner» при запуске метода main в модуле A.

Теперь, как я могу добиться такого же эффекта с последней версией Netbeans (7.1.2)?

Я понимаю, что этот вопрос в стиле новичка, но я много раз борюсь с ним, но безуспешно.


person Mark Bramnik    schedule 24.07.2012    source источник
comment
Если maven может запустить Pom.xml, вы сможете открыть pom.xml из Netbeans. Пытался?   -  person Thorbjørn Ravn Andersen    schedule 24.07.2012
comment
Да, конечно, открывает. Я могу создавать свои модули, но я могу запускать свой основной класс из netbeans, чтобы использовать путь к классам другого модуля. Вместо этого, когда я щелкаю правой кнопкой мыши по основному методу и запускаю его, появляется плагин java exec, и я понятия не имею, где его скомпилировать. Я просто не хочу настраивать плагин java exec для этого в моем файле pom. В целом, похоже, что NetBeans использует maven напрямую и не создает специальный слой IDE, как это делает intelliJ.   -  person Mark Bramnik    schedule 24.07.2012
comment
Так работает или нет?   -  person Thorbjørn Ravn Andersen    schedule 24.07.2012
comment
Нет, не работает. Я сделал ошибку в предыдущем комментарии, я имел в виду: ... но я не могу запустить свой основной класс...   -  person Mark Bramnik    schedule 24.07.2012


Ответы (1)


Просто боролся с той же проблемой - из того, что указано в вики Netbeans, кажется, что каждый модуль представляет свой собственный проект Netbeans, а все остальное будет выражаться с зависимостями проекта. См. http://wiki.netbeans.org/MavenBestPractices.

Проект с модулями известен как мультимодульный или агрегаторный проект. Модули — это проекты, перечисленные в этом POM, и они выполняются как группа. В проектах Maven в NetBeans эти модули перечислены как «Обязательные проекты». Таким образом, вы получите только необходимый список проектов, заполненный для проектов Maven с упаковкой «pom», в которой определены модули.

person pagid    schedule 20.08.2012