Где я должен поместить основную реализацию в многомодульный проект Maven? - PullRequest
3 голосов
/ 10 октября 2010

У меня есть небольшой (4 модуля) проект maven с корневым модулем в pom упаковке.Прямо сейчас у меня есть модуль impl, который содержит основные методы и настройки.Это приводит к некоторым проблемам, например, созданию единого jar для всего проекта, (возможно) огромного списка зависимостей, содержащего все модули, и путанице, пытающейся отследить основной метод для будущих разработчиков.

Итак, я 'Я думаю: лучше ли помещать подобные вещи в корневой проект или он должен оставаться в своем собственном модуле?Будут ли какие-либо недостатки размещения его в корне (например, проблемы с плагином)?

Ответы [ 2 ]

1 голос
/ 10 октября 2010

Это приводит к некоторым проблемам, например, создание единого фляги для всего проекта

Есть решения для этого (например, использование выделенного модуля и подключаемого модуля сборки Maven или Maven).Shade Plugin).

(возможно) огромный список зависимостей, содержащий все модули,

Я не понял, о чем вы здесь говорите.

и путаница, пытающаяся отследить основной метод для будущих разработчиков.

Просто документируйте вещи, если никто не сможет передать информацию.

Так что яподумав: лучше ли помещать подобные вещи в корневой проект или он должен оставаться в своем собственном модуле?Будут ли какие-либо недостатки помещать его в root (например, проблемы с плагином)?

Стивен корректен, агрегирующие и / или родительские POM должны иметь упаковку типа pom, и вы не можете поместитьлюбой код в них.

1 голос
/ 10 октября 2010

AFAIK, родительский модуль многомодульного проекта должен иметь тип "pom", и это исключило бы вставку в него любого кода или других ресурсов.

Конечно, я бы не стал пробовать это.

Если вы хотите собрать все свои классы и т. Д. В один JAR, есть другие способы сделать это.Например, взгляните на Maven Shade Plugin .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...