2011-06-26 98 views
1

我们使用Hudson和Nexus,除了更新依赖项的版本之外,它们运行良好。未看到nexus部署的maven版本

继模块发布之后,我想升级一些其他模块以查看新发布的版本 - 比如Project-A-1.0.0-SNAPSHOT取决于Project-B-1.0.0-SNASHOT,Project B获得发布并成为Project-B-1.0.0,现在我想让项目A依赖于发布版本B.

为此,我们可以使用maven版本插件,并使用版本:use-latest-releases。我在本地windows命令行上执行此操作,Hudson/Nexus基于网络。看来只有当我删除我的本地repo的metadata.xml文件(由版本插件使用)时,它才会起作用,因为这与公司最近发布的版本不一致。

我在这里做错了什么?很明显maven会通过运行版本来更新:display-dependency-updates。是否有办法过期metadata.xml或更新它(设置repo上的更新设置始终不是一个选项,因为这会减慢速度)

回答

-1

Maven有一个快照检查策略。默认设置是每天检查一次快照更改。

尝试运行mvn -U versions:use-latest-releasesmvn --update-snapshots versions:use-latest-releases

+0

读的理解,问题是关于从'1.0 SNAPSHOT'要完整版'1.0'和更新取决于项目正在释放之中所有的项目更新为将它们的'pom.xml'中的依赖关系从'1.0-SNAPSHOT'更新为'1.0' –

+0

嗯,我认为这可能是正确的,因为它似乎强制从nexus刷新metadata.xml然而,我似乎不得不告诉nexus重建它的元数据),然后版本插件似乎工作。我仍然必须确认它适用于升级发行版,尽管(当我到达该场景时)。 – martin