У меня есть вопрос о Maven, плагине maven-release, интеграции с git, pom.xml и наличии pom.xml в подкаталогах локальной копии репо, а не в корне .
Вот настройка:
- У меня есть учетная запись github с ограниченным количеством частных репозиториев
- Я хочу (я только учусь) использовать Maven для организации моих сборок/выпусков
- Мне может понадобиться создать много «проектов» Maven, несколько проектов на репозиторий git
- Для каждого проекта maven требуется «pom.xml» для определения его характеристик
- Я не могу или, по крайней мере, неудобно помещать весь проект pom.xml файлы в корне репозитория git
- . Таким образом, я получаю такой макет папок для проектов:
- git_repo_root_dir
- папка project_A
- project_Bпапка
- и т. д.
- ...
- Я могу успешно перейти в каталог git_repo_root_dir/project_A и выполнить "mvn release:prepare"
- Я не могу выполнить этот шаг в git_repo_root_dir/project_A: "mvn release:perform"
- Проблема, по-видимому, заключается в том, что код с тегом git успешно извлекается в git_repo_root_dir/project_A/target/checkout/project_A при подготовке к выпускной сборке, но затем после извлечения подключаемый модуль «maven-release» переходит в каталог git_repo_root_dir/project_A/target/checkout/. вместо git_repo_root_dir/project_A/target/checkout/project_A/. для выполнения фактической сборки, и нет никакого способа сказать плагину «maven-release» перейти в подкаталог специальной помеченной копии исходного кода, прежде чем пытаться возиться с pom.xml
- ВОПРОС: есть ли способ вокруг этого? Есть ли возможность как-то указать «mvn release: Perform» для перехода в подкаталог?
Вот фактическая ошибка, которую я получаю во время этого процесса:
[INFO] --- maven-release-plugin:2.0:perform (default-cli) @ standard_parent_project ---
[INFO] Checking out the project to perform the release ...
[INFO] Executing: /bin/sh -c cd "/Users/___/DEV c8ion 01/maven_based_code/0maven/standard_parent_project/target" && git clone git@github.com:clarafaction/0maven.git '/Users/___/DEV c8ion 01/maven_based_code/0maven/standard_parent_project/target/checkout'
...
/* note, the pom.xml the build should go out of at this point is at
'/Users/___/DEV c8ion 01/maven_based_code/0maven/standard_parent_project/target/checkout/standard_parent_project/pom.xml'
*/
...
[INFO] [ERROR] The goal you specified requires a project to execute but
there is no POM in this directory
(/Users/___/DEV c8ion 01/maven_based_code/0maven/standard_parent_project/target/checkout).
Please verify you invoked Maven from the correct directory. -> [Help 1]
Спасибо.
задан clarafaction 21 May 2012 в 23:58
поделиться