多模块maven发布

多模块maven发布,maven,maven-release-plugin,Maven,Maven Release Plugin,我有一个多模块maven项目 poms的结构是workspace/parent、workspace/child1、workspace/child2 在svn存储库中,我有一个存储库来存储所有这些内容 当release:prepare执行时,不会出现任何问题,但当release:perform执行时,会发生此错误 [错误]无法执行目标 plugins:maven发布插件:2.3.2:perform (默认cli)在项目退伍军人上:执行Maven时出错。工作 目录 “D:\java\myeclips

我有一个多模块maven项目 poms的结构是workspace/parent、workspace/child1、workspace/child2 在svn存储库中,我有一个存储库来存储所有这些内容 当release:prepare执行时,不会出现任何问题,但当release:perform执行时,会发生此错误

[错误]无法执行目标 plugins:maven发布插件:2.3.2:perform (默认cli)在项目退伍军人上:执行Maven时出错。工作 目录 “D:\java\myeclipse workspace\veterans\target\checkout\veterans”是 不存在!->[帮助1] org.apache.maven.lifecycle.LifecycleExecutionException:未能 执行目标 plugins:maven发布插件:2.3.2:perform (默认cli)在项目退伍军人上:执行Maven时出错

我认为问题在于从存储库中签出,因为在目标文件夹中签出后,我们有主干、标记、分支,但我认为我们必须有父级、child1、child2

另一个问题是,为什么maven release在标记快照时,会将存储库结构标记为svn存储库标记? 发布后:准备我们在svnrepository/tags/parent-1.0.0中有主干、分支和标签 这是我的父母pom:


4.0.0
com.dpj
老兵
1.0.1-快照
聚甲醛
scm:svn:http://192.168.1.10:7075/svn/veterans/trunk
scm:svn:http://192.168.1.10:7075/svn/veterans/trunk
http://192.168.1.10:7075/svn/veterans
1.7
每天
-${project.version}-FL-${maven.build.timestamp}
UTF-8
../退伍军人介绍
../退伍军人服务
dpj人工发布
dpj人工发布
http://192.168.1.10:8082/artifactory/ext-本地发布
dpj人工快照
dpj人工快照
http://192.168.1.10:8082/artifactory/ext-快照本地
org.apache.maven.plugins
maven scm插件
1.9.2
org.apache.maven.plugins
maven发布插件
2.3.2
http://192.168.1.10:7075/svn/veterans/tags/
@{project.artifactId}-@{project.version}

我通过在connection和developerConnection的末尾添加项目名称来解决我的问题。好像 当插件想要添加到标记时,它会将签出设置为父文件夹。所以我在trunk后面添加了项目存储库的地址和文件夹的名称

<connection>scm:svn:http://reposotpry:7075/svn/veterans/trunk/veterans/</connection>
<developerConnection>scm:svn:http://reposotpry:7075/svn/veterans/trunk/veterans/</developerConnection>
scm:svn:http://reposotpry:7075/svn/veterans/trunk/veterans/
scm:svn:http://reposotpry:7075/svn/veterans/trunk/veterans/

而且已经修复。

您是否尝试过更新版本的mvn发布插件?(2.5)我曾在插件中使用2.5.1并覆盖它,但错误已经存在。我认为最大的问题在于标签。在准备项目时,它会标记存储库,并将(标记、分支、主干)复制到标记中。您可以接受您的答案,以表明问题已被回答。谢谢Geri Broser,当我接受答案时,它表示您可以在8小时内接受您的答案:(