Недавно у меня начались проблемы с выпуском проекта maven, который долгое время работал нормально.Проект состоит из нескольких модулей со структурой, выглядящей примерно так:
project_server
project_webserver
project_qp
project_qp_ingr
project_repo
project_repo_ingr
Оба модуля project_qp и project_repo зависят от project_webserver со ссылками $ {project.version}.
Проект является сборкойиспользуя Jenkins, и все работает нормально, когда я создаю снимки.Когда я пытаюсь собрать релиз с версией 3.1-RC1 в конфигурации сборки релиза maven с параметрами / целями "-Dresume = false release: prepare release: execute -e", все отлично работает на этапе "очистить, проверить",но в «развернуть, развернуть сайт», project_repo внезапно не компилируется.
Ошибки компиляции состоят в том, что модуль не находит классы из модуля project_webserver.Тем не менее, модуль project_qp_ingr уже собран и работает нормально.
Все это говорит мне о том, что что-то не так с ссылкой из project_repo_ingr на project_webserver, но поскольку проект строится нормально, когда я создаю релизы снимков.
Помпа project_repo_ingr выглядит следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>project_repo_ingr</artifactId>
<name>project_repo_ingr</name>
<packaging>jar</packaging>
<parent>
<groupId>com.apptus.ecom</groupId>
<artifactId>project_repo</artifactId>
<version>3.1.0-SNAPSHOT</version>
</parent>
<dependencies>
<dependency>
<groupId>com.apptus.ecom</groupId>
<artifactId>project_webserver</artifactId>
<version>${project.version}</version>
</dependency>
<!-- Test dependencies -->
<dependency>
<groupId>com.apptus.ecom</groupId>
<artifactId>project_webserver</artifactId>
<version>${project.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
</dependencies>
</project>
Я опустил некоторые зависимости, но это почти так.И модуль project_repo_ingr, и project_qp_ingr зависят как от обычного артефакта, так и от тест-фляги.
Я использую Java 6, Maven 2 и Jenkins 1.436 с плагином выпуска M2 0.8.1.
Любая помощь очень ценится, я целый день рвал на себе волосы по этому поводу.
Обновление: изменения, которые я сделал со времени последней работы, - это ветвление репозитория svn из ствола в ветку релиза.Задание jenkins в trunk было скопировано в одно для ветви, и путь svn изменен.Я также обновил часть pom project_server.