在我的团队,我们有一个共同的模块,其他2个项目中使用(项目C):通过Maven的依赖管理容易
A计划 - >项目C
项目B - >项目C
我们都在使用maven 3.还有一个Artifactory服务器可供我们使用。
我真的不想每次更新项目C时更新项目A和B poms的麻烦。我只想要最新版本。
与此同时,我不希望每次在那里发生变化时都不得不更新项目C的pom。
这可能吗?
在我的团队,我们有一个共同的模块,其他2个项目中使用(项目C):通过Maven的依赖管理容易
A计划 - >项目C
项目B - >项目C
我们都在使用maven 3.还有一个Artifactory服务器可供我们使用。
我真的不想每次更新项目C时更新项目A和B poms的麻烦。我只想要最新版本。
与此同时,我不希望每次在那里发生变化时都不得不更新项目C的pom。
这可能吗?
在第一部分中,您可以在此看一看: How do I tell Maven to use the latest version of a dependency?
基本上,你可以配置A和B依靠C. 的最新版本为C,则可以配置在git的钩或者其他一些东西,每当它发生变化时就自动更新C的版本。请参阅:
我不愿意使用Maven发布插件,因为它似乎很难安装。如果将项目C永久设置为1.0-SNAPSHOT是一个选项,并且将项目A和B配置为始终查找较新版本,那就更好了。任何问题? – FinalFive
没有,如果你不觉得使用快照很烦。 –
如果不更新项目C中的POM,怎么会依赖项目C以外的项目了解到,出现了变化?但是,不幸的是,这是可能的。 –
如果模块都在开发中,那么您可以使用[SNAPSHOTS](http://books.sonatype.com/mvnref-book/reference/pom-relationships-sect-pom-syntax.html#pom-relationships-sect-快照版本)。这个答案应该有所帮助:http://stackoverflow.com/a/5907727/1570834。 – DB5
巴巴 - 我们使用持续集成。这个想法是当项目C改变时,项目A和B将自动构建,接受新的项目C并运行所有测试。 – FinalFive