Maven发布插件不想标记

时间:2010-10-29 11:33:11

标签: svn maven-2 maven-release-plugin

我们有一个多模块项目,我想在其上使用发布插件。

subversion中的设置是

 /svn/repo/project
 -- branches
 -- tags
 -- trunk
 -- -- project
 -- -- pom.xml
 -- -- module1
 -- -- -- pom.xml
 -- -- module2
 -- -- -- pom.xml
 -- -- module3
 -- -- -- pom.xml
 -- -- module4
 -- -- -- pom.xml

这个项目已经从主干检出,所以在我的文件系统上我没有任何标签或分支文件夹。当我使用命令: mvn release:prepare 时,我收到错误:

[INFO] ------------------------------------------------------------------------
 [ERROR] BUILD FAILURE
 [INFO] ------------------------------------------------------------------------
 [INFO] Unable to tag SCM
 Provider message:
 The svn tag command failed.
 Command output:
 svn: Commit failed (details follow):
 svn: File '/svn/repo/project/tags/project-1.0/module1/pom.xml' already exists

在调试模式下运行命令时,我得到以下内容:

[DEBUG] WARNING: A dependency of the current project (or of one the plugins used 
 in its build) was found in the reactor,
 but had not been built at the time it was requested. It will be resolved from 
 the repository instead.

 Current Project: module2
 Requested Dependency: com.mycompany:module2:jar:1.0

 NOTE: You may need to run this build to the 'compile' lifecycle phase, 
 or farther, in order to build the dependency artifact.

当然,标签在svn中不存在。

有人有什么想法吗?

1 个答案:

答案 0 :(得分:1)

通过必须如下设置插件来解决此问题。默认设置显然不是很好。

<plugin>
    <groupId>org.codehaus.mojo</groupId>
        <artifactId>buildnumber-maven-plugin</artifactId>
        <version>1.0-beta-4</version>
        <executions>
            <execution>
                <phase>validate</phase>
                <goals>
                    <goal>create</goal>
                </goals>
            </execution>
        </executions>
        <configuration>
            <doCheck>false</doCheck>
            <doUpdate>false</doUpdate>
        </configuration>
</plugin>