Внезапная ошибка компиляции во время релиза Maven - PullRequest
1 голос
/ 28 марта 2012

Недавно у меня начались проблемы с выпуском проекта 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...