Я думаю, что я не понимаю, как работает архитектура плагина, и надеялся, что кто-то сможет мне помочь. Вот как я понимаю, что работает Maven:Понимание создания Maven на нескольких модулях
Когда mvn
запускается внутри каталога, он считывает файл pom.xml
и файлы через иерархию в супер POM. Затем Maven работает через жизненный цикл проекта, управляя плагинами, которые соответствуют каждой фазе/цели, против кода в проекте. Поэтому, если вы укажете плагин в родительском POM, этот плагин будет запущен против дочерних проектов, как если бы он был указан только в дочернем проекте.
Моя сборка имеет 3-х проектов:
proj-parent/ # Just specifies the modules to build
pom.xml
proj-java/ # Normal Java jar project
pom.xml
<normal java structure>
proj-php/ # PHP Yii project
pom.xml
src/
web/
jars/
js/
js-src/
index.php
Я хотел бы создать содержащий распределению среди подмножества proj-php/
файлов вместе с банкой из proj-java
со всеми его зависимостями.
Этот вопрос касается не только деталей моих POM, но и больше о стратегии перемещения файлов вокруг с помощью доступных плагинов. Я просмотрел сборки, но они, похоже, беспокоятся о перемещении файлов внутри данного проекта, а не копировании из одной целевой папки проектов в другую.
Я должен иметь файл свойств, содержащий переменную, указывающую окончательный путь сборки, чтобы проекты знали, где копировать биты из каждого проекта, чтобы сделать дистрибутив. Правильно ли я это делаю?
Я думал о консолидации всех трех проектов в 1, перемещая proj-php/src/web
в proj-java/src/main
и используя сборки. Однако это делает вещи неудобными для моей среды разработки, поскольку я использую Eclipse JDT/PDT (для проектов Java и PHP соответственно). Я запускаю их обоих одновременно, и они конфликтуют друг с другом из-за их общего корня проекта.
Update: Кто-нибудь есть какие-либо советы о том, как организовать свои проекты, так что я могу создать в тиражируемом, который включает эти вещи, которые я хочу без каких-либо внешних скриптов.
Я предполагаю, что я жду ответа, как: «Вы могли бы избавиться от proj-parent
и тянуть proj-java/
в качестве зависимости proj-php
, а затем использовать узел, чтобы переместить все вокруг в этом проекте.»
Как люди организуют проект Maven, когда у них есть много файлов без jar, которые необходимо консолидировать из нескольких проектов?
Задайте свой вопрос? –
Я уточнил свой вопрос –
Нет создания proj-php juste use directcory-structure + Maven Assembly + fileSet –