我正在尝试执行 mvn release:perform ,但该命令假定 pom 文件位于存储库的根目录。是否有我可以设置的系统属性或首选项来覆盖默认值?

调用 mvn release:prepare似乎已经成功,因为所有发布 Artifact 都位于目标目录中,并且存储库已正确标记。

如果重要,这是一个 git 项目。

编辑 这是我所做的:

cd /path/to/git/root/path/to/mvn/project 
mvn -DdevelopmentVersion=1.2.0-SNAPSHOT -DreleaseVersion=1.1.0 release:prepare 
...enter correct passphrase and choose all default options... 
mvn release:perform 

然后在 target/checkout 中克隆远程仓库目录,经过一些搅动并推送到远程 git repo 后,发生以下错误:
[ERROR]    
[ERROR]   The project  (/path/to/git/root/path/to/mvn/project/target/checkout/pom.xml) has 1 error 
[ERROR]     Non-readable POM /path/to/git/root/path/to/mvn/project/target/checkout/pom.xml: /path/to/git/root/path/to/mvn/project/target/checkout/pom.xml (No such file or directory) 

因此,maven 正在寻找 target/checkout 根目录下的 pom 文件。目录,这不是它所在的位置。

请您参考如下方法:

我有同样的问题。将此添加到您的 pom 中:

<plugin> 
  <groupId>org.apache.maven.plugins</groupId> 
  <artifactId>maven-release-plugin</artifactId> 
  <version>2.2.1</version> 
  <executions> 
    <execution> 
        <id>default</id> 
        <goals> 
            <goal>perform</goal> 
        </goals> 
        <configuration> 
            <pomFileName>subdir/pom.xml</pomFileName> 
        </configuration> 
    </execution> 
  </executions> 
</plugin> 

来源: https://stackoverflow.com/a/8233712/555220


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!