0

我正在尝试为回购创建一个版本。我遇到的问题是当我跑步时

mvn release:prepare -DdryRun= true

我正在尝试在具有父级的 pom.xml 上运行它。

这是我要发布的 pom.xml。

...
<parent>
<groupId>com..ehr</groupId>
<artifactId>ehr-common</artifactId>
<version>0.5.0.26</version>
<relativePath> ../../EhrPom/main/pom.xml</relativePath>
</parent>
...

当我运行 mvn release:prepare -DdryRun=true。我收到此错误。

[INFO] Scanning for projects...
Downloading: http://repo1.maven.org/maven2/com//ehr//0.5.0.26/ehr-
-0.5.0.26.pom
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]
[ERROR]   The project com..ehr:emergency-login-webapp:2.0.7.0-SNAPSHOT   
(/Users/computer1/Documents/computer1_MacBook/depot//-  
webapp/main/pom.xml) has 1 error
[ERROR]     Non-resolvable parent POM: Could not find artifact  in central (http://repo1.maven.org/maven2) and 'parent.relativePath'
points at wrong local POM @ line 8, column 11 -> [Help 2] 
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the 
following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
[ERROR] [Help 2]  
http://cwiki.apache.org/confluence/display/MAVEN/UnresolvableModelException

我需要先释放父 pom 才能完成这项工作吗?这是否与它试图从http://repo1.maven.org/maven2/而不是我的 repo 下载这一事实有关?任何帮助将不胜感激谢谢!

4

2 回答 2

0

犯了一个愚蠢的错误,没有为正确的存储库设置:/

于 2013-07-12T23:21:13.500 回答
0

是的,您还必须部署父 POM,因为其他人在依赖您的工件时需要它。父级pom.xml可能包含更多的依赖项、属性等。因此,您需要将其部署到您的(远程)存储库。

您可能更容易创建一个pom.xml包含父级和工件作为模块的顶级。Maven 负责正确的顺序,如果您在这个项目中启动发布过程,即它会在您的工件之前自动发布/部署您的父 POM。或者,如果您的父 POM 同时是您的根 POM,则只需在此处开始发布过程,其模块也应自动发布。

参考:

于 2013-07-12T20:14:35.107 回答