Где размещен тег scm? - PullRequest
       20

Где размещен тег scm?

1 голос
/ 19 июня 2011

У меня небольшая проблема с тегом scm в моем файле pom.xml.

Архитектура моего проекта такая:

Parent
Submodule1
Submodule2
reactor

Parent - это проект, который содержит конфигурацию всех подключаемых модулей maven, версия библиотеки и т. Д. Это родитель проекта реактора, который является родителем всех подмодулей.

Reactor - это pom.xml, который содержит теги для компиляции всех подмодулей.

Я бы хотел поместить тег scm в родительский pom.xml, потому что это более высокий pom.xml. Но я получаю сообщение об ошибке, когда я хочу сделать "mvn release: prepare".

Поэтому я поместил тег scm в реактор pom.xml, и он работает.

Это хорошо для меня, это работает :), но я не понимаю, почему мне нужно поместить метку scm в помпе реактора.

Кто-то может объяснить мне это поведение?

Спасибо.

Редактировать:

Вот структура папок:

root
  parent
    pom.xml (parent)
  submodule1
    pom.xml
  submodule2
    pom.xml
  pom.xml (reactor)

Вот интересная часть пом реактора:

<parent>
    <groupId>groupId</groupId>
    <artifactId>parent</artifactId>
    <relativePath>./parent/pom.xml</relativePath>
    <version>1.0.2-SNAPSHOT</version>
</parent>

<modules>
    <module>parent</module>
    <module>submodule1</module>
        <module>submodule2</module>
</modules>

Наконец, вот ошибка для релиза: prepare:

[INFO] Невозможно пометить SCM Сообщение провайдера: Команда svn tag не выполнена. Вывод команды: svn: путь 'http://10.211.55.4/svn/trunk/reactor' не существует в ревизии 112

1 Ответ

1 голос
/ 19 июня 2011

Первое требование состоит в том, что в SVN существуют ствол, папка с тегами и ветвями, которые, как я предполагаю, должны быть определены только в реакторе, а не в родительском элементе.

  root
    +-- pom.xml (reactor)
    +-- parent
    !      +-- pom.xml (parent)
    +-- submodule1
    !      +-- pom.xml
    +-- submodule2
           +-- pom.xml

Более того, вы должны определитьMaven-релиз-плагин (реактор), а также с истиной.

По умолчанию в такой ситуации Maven будет выполнять относительное изменение путей SVN.Это создаст проблемы, как у вас.Таким образом, вы должны поместить информацию в реактор, а не в родительский насос.Очень важно иметь только одну конфигурацию.

Кроме того, я бы порекомендовал удалить родителя и поместить информацию в реактор, потому что у вас возникнут проблемы на этапе генерации сайта.

  root
    +-- pom.xml (parent)
    +-- submodule1
    !      +-- pom.xml
    +-- submodule2
           +-- pom.xml
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...