У меня есть многомодульный проект, и я не могу выполнить релиз.
Я пробовал эти макеты:
svnroot/trunk/parent
/module1
/module2
и
svnroot/parent/trunk
svnroot/module1/trunk
svnroot/module2/trunk
После прочтения
* * 1010
http://ericmiles.wordpress.com/tag/flat-structure/ и
http://ericmiles.wordpress.com/tag/release-plugin/
Я надеялся, что первый макет сработает, но в обоих случаях maven завершается с этой ошибкой:
[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error building POM (may not be this project's POM).
Project ID: unknown
Reason: Could not find the model file 'C:\myworkspace\parent\target\module1'. for project unknown
[INFO] ------------------------------------------------------------------------
Кажется, что когда эта ошибка происходит, уже проделана определенная работа, все номера версий обновляются в poms.
Я обнаружил, что родительский модуль был извлечен из-под parent \ target \ checkout, и похоже, что плагин ожидает, что модули извлечены из-под target.
parent.pom имеет следующие настройки
<groupId>company.project</groupId>
<artifactId>parent</artifactId>
<version>1.0.9-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>../module1</module>
<module>../module2</module>
</modules>
<scm>
<connection>scm:svn:file:///SVNROOT/trunk/parent</connection>
<url>file:///SVNROOT/trunk/parent</url>
</scm>
<dependency>
<groupId>company.project</groupId>
<artifactId>module1</artifactId>
<version>1.0.9-SNAPSHOT</version>
</dependency>
Пом модуль выглядит так
<parent>
<artifactId>parent</artifactId>
<groupId>company.project</groupId>
<version>1.0.9-SNAPSHOT</version>
</parent>
<name>module1</name>
<artifactId>module1</artifactId>
<scm>
<connection>scm:svn:file:///SVNROOT/trunk/module1</connection>
<url>file:///SVNROOT/trunk/module1</url>
</scm>
Релиз вызывается
mvn -e -DcommitByProject=true -DautoVersionSubmodules=true -Dresume=false release:prepare release:perform
Maven версия 2.2.1