【发布时间】:2011-10-07 08:00:03
【问题描述】:
我正在尝试发布一个使用 git 作为 SCM 的多模块 maven 项目,我遇到的第一个问题是 maven 发布插件构建 release.properties scm.url 的方式。我的父 POM 看起来像这样:
<packaging>pom</packaging>
<groupId>org.project</groupId>
<artifactId>project-parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<scm>
<connection>scm:git:git://github.com/username/project.git</connection>
<developerConnection>scm:git:git@github.com:username/project.git</developerConnection>
<url>http://github.com/username/project</url>
</scm>
<modules>
<module>api</module>
<module>spi</module>
</modules>
而且模块 POM 很简单:
<parent>
<groupId>org.project</groupId>
<artifactId>project-parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>api</artifactId>
<version>0.2.2</version>
我的目标是能够发布单个模块,因为它们每个都有不同的版本,我不想在每次发布时一起增加所有版本。
当我切换到 api 目录并执行 mvn release:clean release:prepare 时,我遇到了以下输出:
[INFO] Executing: cmd.exe /X /C "git push git@github.com:username/project.git/api master:master"
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Unable to commit files
Provider message:
The git-push command failed.
Command output:
ERROR: Repository not found.
看起来 maven 发布插件通过将模块名称附加到 developerConnection 来创建 scm.url,这最终不是 github 上的有效存储库。我不确定设置它的正确方法是什么。可能是 Maven + git + 发布单个子模块根本行不通?任何意见表示赞赏。
【问题讨论】: