【发布时间】:2014-09-25 14:18:01
【问题描述】:
我使用 Maven 在 Eclipse 中创建了几个基于 Maven 原型的项目,最终得到了这个项目结构(具有多个模块的父项目):
- 父项目 - pom.xml:
<name>backoffice-root</name>
<modules>
<module>backoffice-web</module>
<module>backoffice-ejb-core</module>
<module>backoffice-ws</module>
<module>backoffice-ear</module>
</modules>
现在我想使用 Subclipse 将它们提交到 SVN 存储库。
在我的第一种方法中,我将这些项目以平面层次结构添加到 SVN。我添加的第一个项目是 root,否则我会收到警告说模块中的 .svn 文件夹将被删除:
backoffice-root
backoffice-web
backoffice-ejb-core
backoffice-ws
backoffice-ear
如果我在此之后尝试提交,则会收到错误“backoffice-root/backoffice-web 已在版本控制之下”。我相信会发生这种情况,因为当我将项目添加到 SVN 时,在每个项目中创建了一个 .svn 文件夹,但我不知道如何在不删除这些文件夹并丢失其中包含的信息的情况下解决这个问题。
所以我尝试了第二种方法:将 root 添加到 SVN,然后在 root 下添加所有其他(将我的 Maven 项目结构映射到 SVN 存储库),在存储库中创建此结构:
backoffice-root
backoffice-web
backoffice-ejb-core
backoffice-ws
backoffice-ear
但是当我尝试提交所有这些时,我得到了与方法 #1 相同的错误。
我让事情正常工作的唯一方法是将根添加到 SVN 并提交它(它提交所有模块,因为它们是根内的文件夹)。但我想处理每个项目并单独提交它们。我是否需要像this 帖子中解释的那样以平面布局构建我的 Maven 项目?我的原始布局如何以这种方式工作?
【问题讨论】: