理想的项目布局是什么样的?
对于一个新项目,我想使用 maven-2 和 subversion。
要求是:
- 该项目应作为一个 subversion 文件夹检出。
- Maven 应该使用 super-pom 构建所有模块
- 它应该很容易创建分支(一个操作)
- 它应该可以与持续集成一起使用(例如 hudson)
通过这种布局,似乎只需一个操作即可创建分支。
project/trunk/module-1
project/trunk/module-2
project/trunk/module-2.1
project/branches
project/tags
..
project/trunk/module-n
或者我应该更喜欢(如果是的话为什么)这种布局? 恐怕我需要根据模块的数量进行多次分支。
project/module-1/trunk
project/module-1/branches
project/module-1/tags
project/module-2/trunk
project/module-2.1/trunk
..
project/module-n/trunk
我应该使用哪种布局?
For a new project I want to use maven-2 and subversion.
The requirements are:
- The Project should be checkout as one subversion folder.
- Maven should build all modules using a super-pom
- It should be easy to create branches (one action)
- It should be usable with continous-integration (e.g hudson)
With this layout it seems possible with only one action to create a branch.
project/trunk/module-1
project/trunk/module-2
project/trunk/module-2.1
project/branches
project/tags
..
project/trunk/module-n
or should I prefer (and if so why) this layout?
I'm afraid I need to branch as many times as I have modules.
project/module-1/trunk
project/module-1/branches
project/module-1/tags
project/module-2/trunk
project/module-2.1/trunk
..
project/module-n/trunk
Which layout should I use?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我们使用您提到的第一个选项,如果您只有一层模块,它效果很好。我们发现,如果有很多级别的子模块(曾经有 4 个级别的子模块),maven 就会开始感到困惑,并尝试将一个模块的依赖项添加到另一个模块中(这是使用 maven 2.2.0)。
我认为第二个选项不会满足四个要求(特别是从最顶层的父 pom 构建整个内容)。
We use the first option you mentioned and it works quite well if you have only one level of modules. We've found that if there are many levels of submodules (at one time we had 4 levels of submodules), maven starts to get confused and tries to add dependencies from one module into another module (this was using maven 2.2.0).
I don't think the second option will tick the four requirements (specially to build the whole thing from the top-most parent pom).