我有一个多模块项目,无法执行发布。
我尝试了这些布局:
svnroot/trunk/parent
/module1
/module2
和
svnroot/parent/trunk
svnroot/module1/trunk
svnroot/module2/trunk
阅读后
我希望第一个布局能够正常工作,但在两种情况下,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下结帐,似乎插件期望模块在目标下检出。
我错过了一个重要的设置吗?
有谁可以描述他是如何让mvn发布的?
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>
模块pom看起来像这样
<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
答案 0 :(得分:2)
我的结构是
/svnroot/trunk/parent
/svnroot/trunk/parent/module1
/svnroot/trunk/parent/module2
等。我在构建或使用发布插件时没有遇到任何麻烦。我目前在3.0.3上,但我认为它在2.2.x上工作。在任何情况下,它都与您在问题中列出的任何结构都不匹配,可能值得一试。
答案 1 :(得分:-2)
编辑:正如我在下面提到的,这是一个Eclipse插件的问题 - 抱歉混淆
如果我没记错的话,从Maven 2.2开始,多模块项目设置停止受到支持。由于其他原因,我们将产品升级到Maven 2.2,并发现之前无问题的多模块项目已停止正确构建。