我目前有大约16个项目,我用maven部署到组成类似“门户”的相同应用程序服务器。我已经构建了一个父pom来处理常见的依赖和插件配置。目前,我的SVN结构看起来类似于:多模块maven项目与父pom和svn布局
portal_root
+project1
+tags
+branches
+trunk
+project2
.
.
.
+projectn
pom.xml
单独的项目是分别部署的。也就是说,project1没有对project2的依赖,并且每个都可以进行修改和部署,而无需修改其他任何东西。
这提出了一个SVN的问题,好像另一个开发人员想要检查出整个“门户”根目录(也获得父pom),他们也会默认下拉所有标签和分支的副本!不是很理想。
我能想到的唯一的另一件事就是用这样的:
portal_root
+tags
+branches
+trunk
+project1
+src
pom.xml
+project2
.
.
.
pom.xml
不过,现在所有的项目更改都将在标签文件夹跟踪。这对我来说不是一个大问题,但分枝现在似乎变成一种痛苦。
我目前也在努力将TeamCity连接到这里,因为我只需要看一个单独的目录(例如标签)来捕捉需要构建的所有东西,现在这会更容易一些。我也将工件部署到企业Nessus存储库。
我希望有人能给我一些建议,因为我一直无法找到任何体面的文档,谈论整个生命周期和最佳实践。
我喜欢用单个maven命令构建和部署所有项目的想法。我也喜欢在一个地方拥有所有常见的依赖项,存储库信息和插件信息。
这完全解决了我的问题!谢谢! – Casey 2010-12-14 19:46:03
如果要在子项中使用父项目,请确保将父数据作为依赖项添加。 – cevaris 2013-12-09 18:40:15