Я использую версию 2.1
из versions-maven-plugin
.Как сделать Maven версии Plugin update-parent цель работать с многомодульным проектом
У меня есть дерево исходного кода, как следующее:
+-- JavaProjects
+-- customs-deployment-support
+-- pom.xml
+-- pom.xml (a.k.a. base-parentpom)
+-- Projects
+-- customs-template
+-- pom.xml
+-- customs-ear-template
+-- pom.xml
+-- customs-rpm-template
+-- pom.xml
+-- customs-site-template
+-- pom.xml
+-- pom.xml (a.k.a. customs-parentpom)
Теперь выше, <parent />
для проекта customs-template
является customs-deployment-support
. <parent />
для всех остальных customs-*-template
проектов - base-parentpom
.
Примечание: customs-parentpom
это просто «агрегатор» и не является реальным родителем для любого таможенного модуля, но это объявить каждый customs-*
проект как <module />
в его <modules />
разделе.
Для версии SNAPSHOT
это прекрасно работает.
Теперь, я хочу перейти на артефакты versioned
, где каждая подпись версии артефакта - это что-то вроде x.x.x_yyyyMMddhhmm_nn
.
Итак, теперь я хочу нанять versions-maven-plugin
строить customs-parentpom
(или «агрегатор» pom.xml
)
Я использую Дженкинс для сборки. Таким образом, я устанавливаю предварительный шаг к Джиггер версии в пределах <parent />
части каждого таможенного проекта что-то вроде:
mvn versions:update-parent
Я хочу его найти последние добывающие артефакты (т.е. base-parentpom
и customs-parentpom
) доступны в Nexus.
Но он терпит неудачу с ...
[ERROR] The build could not read 4 projects -> [Help 1]
[ERROR]
[ERROR] The project com.etse:etse-customs-template:3.1.0-SNAPSHOT (/var/lib/jenkins/jobs/ETSE-trunk-AllCustoms/workspace/customs-template/pom.xml) has 1 error
[ERROR] Non-resolvable parent POM: Failure to find com.etse:etse-customs-deployment-support:pom:3.1.0-SNAPSHOT in http://repository.jboss.org/nexus/content/groups/public-jboss/ was cached in the local repository, resolution will not be reattempted until the update interval of jboss-public-repository-group has elapsed or updates are forced and 'parent.relativePath' points at wrong local POM @ line 5, column 11 -> [Help 2]
[ERROR]
[ERROR] The project com.etse:etse-customs-ear-template:3.1.0-SNAPSHOT (/var/lib/jenkins/jobs/ETSE-trunk-AllCustoms/workspace/customs-ear-template/pom.xml) has 1 error
[ERROR] Non-resolvable parent POM: Failure to find com.etse:etse-parentpom:pom:3.1.0-SNAPSHOT in http://repository.jboss.org/nexus/content/groups/public-jboss/ was cached in the local repository, resolution will not be reattempted until the update interval of jboss-public-repository-group has elapsed or updates are forced and 'parent.relativePath' points at wrong local POM @ line 5, column 10 -> [Help 2]
[ERROR]
[ERROR] The project com.etse:etse-customs-rpm-template:3.1.0-SNAPSHOT (/var/lib/jenkins/jobs/ETSE-trunk-AllCustoms/workspace/customs-rpm-template/pom.xml) has 1 error
[ERROR] Non-resolvable parent POM: Failure to find com.etse:etse-parentpom:pom:3.1.0-SNAPSHOT in http://repository.jboss.org/nexus/content/groups/public-jboss/ was cached in the local repository, resolution will not be reattempted until the update interval of jboss-public-repository-group has elapsed or updates are forced and 'parent.relativePath' points at wrong local POM @ line 5, column 10 -> [Help 2]
[ERROR]
[ERROR] The project com.etse:etse-customs-site-template:3.1.0-SNAPSHOT (/var/lib/jenkins/jobs/ETSE-trunk-AllCustoms/workspace/customs-site-template/pom.xml) has 1 error
[ERROR] Non-resolvable parent POM: Failure to find com.etse:etse-parentpom:pom:3.1.0-SNAPSHOT in http://repository.jboss.org/nexus/content/groups/public-jboss/ was cached in the local repository, resolution will not be reattempted until the update interval of jboss-public-repository-group has elapsed or updates are forced and 'parent.relativePath' points at wrong local POM @ line 5, column 10 -> [Help 2]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
[ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/UnresolvableModelException
Считайте, что я никогда не хочу Дженкинс, чтобы произвести SNAPSHOT
версии артефакт в приведенном выше случае. Я понимаю, что SNAPSHOT недоступен в локальном репозитории .m2. Должен ли я (действительно) нуждаться в том, чтобы плагин версий правильно решался?
Что я делаю неправильно? Можно ли даже делать то, что я пытаюсь сделать? Я хочу поделиться файлами pom.xml, если это поможет.
Как вы справиться с ситуацией, когда вы рилизинг проектов (например: таможенно-Ухо-шаблон, позволяет предполагает его родителей является одним из проектов в JavaProjects). Предполагая, что текущая версия JavaProjects равна 0.0.4-SNAPSHOT и в шаблоне таможни-уха вы хотите получить выпуск 0.0.1, я не думаю, что использую версии: update-parent будет работать для версии 0.0.1 для проектов (поскольку он будет создавать артефакт 0.0.3 шаблона таможни-уха, чем создание файлов арфизатора выпуска 0.0.1/файлов и т.д.). http://stackoverflow.com/questions/25918593/interesting-maven-questions-pom-types-and-how-to-handle-maven-parents-uncl –