我们有一个多模块项目,我想在其上使用发布插件。
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中不存在。
有人有什么想法吗?
答案 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>