2014-03-06 68 views
0

所以我目前有2个项目,让我们称之为ProjectA和ProjectB。 ProjectA和ProjectB应该彼此独立发布。他们都使用一个名为ProjectCommon的共享项目。Maven - 释放快照依赖

<groupId>group</groupId> 
<artifactId>ProjectA</artifactId> 
<version>0.0.10-SNAPSHOT</version> 
<dependencies> 
    <dependency> 
     <groupId>group</groupId> 
     <artifactId>ProjectCommon</artifactId> 
     <version>0.0.2-SNAPSHOT</version> 
    </dependency> 
</dependencies> 

目前,如果我想realease项目A,我首先要释放ProjectCommon,并更新项目A的pom.xml的版本。

有没有办法让这个自动化?我一直在看版本:use-latest-releases插件,但是如果ProjectCommon当前正在使用快照,我无法使它工作。我只是得到“着发布项目因未发行的依赖关系”

感谢

+0

看到HTTP的依赖://计算器。 com/questions/30571/how-do-i-tell-maven-to-use-the-latest-version-a-dependency – Jay

+0

感谢您的回答。所以唯一的帖子相关,似乎是使用 mvn干净版本:使用最新版本scm:签入部署-Dmessage =“更新版本”-DperformRelease =真' 这是你的意思吗? – user3387245

+0

是的,那个帖子建议。但在我们的环境中,我们手动执行以避免任何未经测试的兼容性问题。例如,如果您自动升级像spring,primefaces等任何框架,您现有的一些稳定功能可能无法正常工作。如果由于时间因素而忘了在测试阶段发现这样的事情,它可能会在生产中结束。 – Jay

回答

0

你应该总是在其他项目中使用ProjectCommon的发行版,这样你有2个场景。

1)您在ProjectCommon变化和你释放它,那么你更新项目A和项目B

2)您在项目A的变化,你只发布项目A

+0

感谢您的回答。因此,我真正想知道的是,是否可以自动化场景1. – user3387245

+0

您可以设置依赖关系以上载最后一个版本,搜索最新 RELEASE但是释放ProjectCommon时ProjectA不会自动释放。 (另外,我不推荐使用最新版本,它可能导致测试问题) –