Как бороться с проектами Maven, содержащими несколько внутренних артефактов? - PullRequest
1 голос
/ 05 июня 2010

Я собираюсь начать работу над веб-приложением и буду использовать Maven. Я хочу, чтобы веб-приложение было отдельным артефактом. Веб-приложение будет зависеть от пары самописных библиотек (например, форматирования текста), и каждая из этих библиотек должна представлять собой отдельный артефакт.

Каков рекомендуемый способ достижения этого разделения при упрощении кодирования обоих артефактов? Я думал о создании одного проекта для каждого артефакта и импортировал их один за другим в Eclipse. Однако, если у pom для веб-приложения есть зависимость, указывающая на самозаписываемую библиотеку, мне придется в конечном итоге развертывать моментальный снимок каждый раз, когда я хочу посмотреть, остановило ли выполненное мной изменение сбой веб-приложения (например, ).

Надеюсь, вы понимаете, к чему я клоню. Я буду работать с еще парой разработчиков, и мы используем Nexus для поддержки нашего общего хранилища артефактов.

Ответы [ 2 ]

3 голосов
/ 05 июня 2010

Я думал о создании одного проекта для каждого артефакта и их импорте по одному в Eclipse.

Да, это рекомендуемый способ.

Однако, если у pom для веб-приложения есть зависимость, указывающая на самозаписываемую библиотеку, мне придется в конечном итоге развертывать моментальный снимок каждый раз, когда я хочу посмотреть, не остановило ли веб-приложение изменение, которое я сделал

Во время разработки вы можете использовать «разрешение рабочего пространства», то есть настраивать Eclipse для разрешения зависимостей из рабочего пространства. Таким образом, изменения сразу видны из веб-приложения. Это возможно, используете ли вы m2eclipse или плагин maven eclipse (и фактически является поведением по умолчанию для обоих).

Ниже приведена иллюстрация для m2eclipse:

alt text

1 голос
/ 05 июня 2010

Хороший плагин maven для eclipse способен «разрешать рабочую область», то есть он распознает наличие зависимости в рабочей области и будет ссылаться на другой проект напрямую, а не добавлять JAR в путь сборки.

...