2015-03-31 1 views
0

У меня проблемы с плагином сайта Maven. У меня есть следующая структура выборки:Проблемы с дистрибутивом URL-адреса сайта управления в многоуровневой среде Maven

/parent-project 
    pom.xml 
    /src/site 
    /module-1 
     /branches 
     /tags 
     /trunk 
      pom.xml 
      /src 
    /module-2 
     pom.xml 
     /src 

У нас есть один модуль с тегом/ветвей/структуры ствола и другой без (первый имеет собственный цикл развертывания). Допустим, что родительский pom.xml что-то вроде этого:

<groupId>some.group</groupId> 
<artifactId>parent-project</artifactId> 
<version>1.0</version> 
<packaging>pom</packaging> 

<url>https://url/parent</url> 

<modules> 
    <module>module-1/trunk</module> 
    <module>module-2</module> 
<modules> 

<distributionManagement> 
    <site> 
     <id>deployment</id> 
     <url>dav:https://url/deploy/site/</url> 
    </site> 
</distributionManagement> 

Когда я смотрю в эффективной ПОМ модулей мы имеем что-то вроде следующего:

<parent> 
    <groupId>some.group</groupId> 
    <artifactId>parent-project</artifactId> 
    <version>1.0</version> 
</parent> 

<groupId>some.group</groupId> 
<artifactId>module-1</artifactId> 
<version>2.0.0</version> 

<url>http://url/parent/module-1/module-1</url> 

<distributionManagement> 
    <site> 
     <id>deployment</id> 
     <url>dav:https://url/deploy/site/module-1/module-1</url> 
    </site> 
</distributionManagement> 

и

<parent> 
    <groupId>some.group</groupId> 
    <artifactId>parent-project</artifactId> 
    <version>1.0</version> 
</parent> 

<groupId>some.group</groupId> 
<artifactId>module-2</artifactId> 
<version>2.0.0</version> 

<url>http://url/parent/module-2</url> 

<distributionManagement> 
    <site> 
     <id>deployment</id> 
     <url>dav:https://url/deploy/site/module-2</url> 
    </site> 
</distributionManagement> 

Модуль, вложенный в каталог соединительных линий, по какой-то причине удвоил относительные URL-адреса (модуль-1/модуль-1), а другой (/ module-2) прошел нормально. Неужели я не могу принять участие в некоторых соглашениях Maven или пропустить что-то еще?

EDIT: Это эффективный ПОМ, реальные одни лишь минимальное:

<groupId>some.group</groupId> 
<artifactId>parent-project</artifactId> 
<version>1.0</version> 
<packaging>pom</packaging> 

<url>https://url/parent</url> 

<modules> 
    <module>module-1/trunk</module> 
    <module>module-2</module> 
<modules> 

<distributionManagement> 
    <site> 
     <id>deployment</id> 
     <url>dav:https://url/deploy/site/</url> 
    </site> 
</distributionManagement> 

и

<parent> 
    <groupId>some.group</groupId> 
    <artifactId>parent-project</artifactId> 
    <version>1.0</version> 
</parent> 

<groupId>some.group</groupId> 
<artifactId>module-1</artifactId> 
<version>2.0.0</version> 

и

<parent> 
    <groupId>some.group</groupId> 
    <artifactId>parent-project</artifactId> 
    <version>1.0</version> 
</parent> 

<groupId>some.group</groupId> 
<artifactId>module-2</artifactId> 
<version>2.0.0</version> 
+0

Каковы «настоящие» поры модулей? Похоже, модуль-1 наследует свой url и/или site.url, а модуль-2 объявляет свои собственные. – atao

+0

Пожалуйста, взгляните на отредактированный вопрос. Спасибо – user1352304

ответ

0

С documentation из Maven Плагин сайта:

Если подпроекты наследуют URL-адрес сайта от родительского ПОМ, они автоматически добавят их, чтобы сформировать их эффективное местоположение развертывания.

Фактически это только половина истории: как только родительский проект не является прямым предком, Maven генерирует неадекватные значения url и site/url. . с родительским проектом, который не является корневым проектом.

Или здесь с модулем-1/багажник. В таком случае вам необходимо явно указать URL-адрес и сайт/URL-адрес.

+0

Да, это была точная проблема. Мне пришлось явно объявить все URL-адреса (даже для диспетчера SCM). большое спасибо – user1352304