Maven 发布:在标记前使用SCM url准备混乱

Maven 发布:在标记前使用SCM url准备混乱,maven,maven-release-plugin,Maven,Maven Release Plugin,我使用SVN对源文件进行版本设置,使用maven release插件创建和标记release。我的项目是一个多模块项目 短篇小说 release:prepare目标会在我的SCM中同时标记trunk和tag 说来话长 我的项目是一个多模块项目: bar module1 module2 ... pom.xml SCM标记在我的项目父级POM bar/POM.xml中的配置如下: <scm> <connection>scm:svn:ht

我使用SVN对源文件进行版本设置,使用maven release插件创建和标记release。我的项目是一个多模块项目

短篇小说

release:prepare目标会在我的SCM中同时标记trunk和tag

说来话长

我的项目是一个多模块项目:

 bar
    module1
    module2
    ...
    pom.xml
SCM标记在我的项目父级POM bar/POM.xml中的配置如下:

<scm>
  <connection>scm:svn:http://svn.mycompany.local/svn/foo/projects/bar/trunk</connection>
  <url>http://svn.mycompany.local/svn/foo/projects/bar/trunk</url>
</scm>
pom.xml.tag中的SCM标记已修改,但不例外:

<scm>
    <connection>scm:svn:http://svn.mycompany.local/svn/foo/projects/bar/tags/bar-1.0/trunk</connection>
    <url>http://svn.mycompany.local/svn/foo/projects/bar/tags/bar-1.0/trunk</url>
</scm>
目录主干和标记在标记文件夹中进行标记。我在存储库中获得以下结构:

bar
   /trunk/
        [...]
   /tags
        /bar-1.0
            /trunk
            /tags
然后执行目标失败:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.0:perform (default-cli) on project bar: Error executing Maven. 
Working directory "C:\projects\foo\bar\target\checkout\bar" does not exist! -> [Help 1]
事实上,我已经在target\checkout目录中找到了:

tags\
trunk\
我有几个其他的项目,在相同的配置下工作没有问题

我检查的内容: -我的subversion结构遵循常规的分支/主干/标记,因此这里不必提及tagBase -有效的POM显示正确的SCM配置(当然在标记之前) -当然,检查SCM url是否正确并指向pom.xml的位置

所以我真的不知道去哪里看。有没有人有同样的问题或想法?我错过了什么


谢谢。

首先,我建议将bar pom中的发布插件配置为比2.0更新的版本(因为目前是2.2.2版本),并将信息AutoVersionSubModules也放入配置中(这使生活更轻松)。给定的选项-DdevelopmentVersion=1.1没有意义,因为开发版本的后缀必须是“-SNAPSHOT”,否则它是一个发行版而不是开发版本。此外,还要添加developerConnection,并在“trunk”的末尾添加一个“/”,如下../trunk/
maven发布插件与您正在使用的maven版本相关。Maven的super pom定义了一组插件及其相应的版本

首先,我建议在bar pom中使用比2.0更新的版本配置发布插件(因为目前是2.2.2),并将信息AutoVersionSubModules也放入配置中(这使生活更轻松)。给定的选项-DdevelopmentVersion=1.1没有意义,因为开发版本的后缀必须是“-SNAPSHOT”,否则它是一个发行版而不是开发版本。此外,还要添加developerConnection,并在“trunk”的末尾添加一个“/”。/trunk/@khmarbaise非常感谢您的建议,这确实是一个插件版本问题。我没有在任何地方配置它,假设maven自动为自己的插件使用最后一个版本。显然情况并非如此。如果你把你的评论写在答案里,我可以把它标记为答案。谢谢。你用哪种maven版本?
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.0:perform (default-cli) on project bar: Error executing Maven. 
Working directory "C:\projects\foo\bar\target\checkout\bar" does not exist! -> [Help 1]
tags\
trunk\