Где разместили тег scm?

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

Моя архитектура проекта такая:

Parent
Submodule1
Submodule2
reactor

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

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

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

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

Для меня это хорошо, работает :) но я не понимаю, зачем мне тэг scm ставить в pom реактора.

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

Спасибо.

Изменить:

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

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

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

<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>

Наконец, вот ошибка релиза: приготовить:

[ИНФОРМАЦИЯ] Невозможно пометить сообщение поставщика SCM: сбой команды тега svn. Вывод команды: svn: Путь 'http://10.211.55.4/svn/trunk/reactor' не существует в версии 112


person Kiva    schedule 19.06.2011    source источник
comment
Какая у вас ошибка? (Сообщение?) Можете ли вы дать структуру папок с расположением помпов? Как вы установили отношения между помпой (через родителя?). Как выглядит ваш реактор? (Содержится на ‹module› ... ‹/module›?   -  person khmarbaise    schedule 19.06.2011


Ответы (1)


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

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

Кроме того, вы также должны определить maven-release-plugin (Reaction) с помощью true.

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

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

  root
    +-- pom.xml (parent)
    +-- submodule1
    !      +-- pom.xml
    +-- submodule2
           +-- pom.xml
person khmarbaise    schedule 19.06.2011