如何使用svn checkout和checkin maven多模块项目

4

我遇到了一个问题,配置我的Eclipse + Maven + m2e + SVN设置。

假设我在SVN主干中检入了一个具有以下结构的项目:

- Project-parent
- pom.xml
-- ModuleA
--- pom.xml (module A)
-- ModuleB
--- pom.xml (module B)

在我的Eclipse安装中,我有以下内容:
eclipse 3.7.2 64bit Java EE
subversive and svn connector for svn 1.6
m2e 1.1 from marketplace
m2e-subversive 0.13 (installed from alternative url)

当我想要向项目中添加新模块时,我的问题开始了。因此,我通过“导入 -> 从SCM检出Maven项目”来检查项目和模块。我使用标准的m2e“创建新的Maven模块”进行创建,完成属性后,我的工作空间如下所示:

- Project-parent (in trunk)
- pom.xml (in trunk)
-- ModuleA (in trunk)
--- pom.xml (in trunk)
-- ModuleB (in trunk)
--- pom.xml (in trunk)
-- ModuleC
--- pom.xml

项目使用"mvn clean install"构建。因此,我想将ModuleC检入svn,但没有具有“共享模块到svn”功能的选项。

最后我的问题:

  1. 您如何将新模块签入现有存储库?是通过eclipse的“共享项目”还是像Tortoise这样的外部工具?
  2. 如果是通过Eclipse,您是否自动拥有模块项目和svn之间的“连接”(通过连接,我指的是关于svn url和当前版本的项目注释)
  3. 当您在您的情况下拥有“连接”时,您可以更改提交的ModuleC并在Project-parent上看到“脏”的svn标记吗?
  4. 如何手动实现这种连接?我唯一能做的就是删除所有项目,然后再次执行“从SCM检出Maven项目”,并重新选择所有项目。
  5. 当您在不同位置创建子模块骨架并将其检入svn后,如何将其从svn导入回工作区和m2e?
1个回答

1

您还需要在Eclipse中挂载主项目,即模块的父级。然后,像对任何更改集一样,使用此项目检入新模块。该项目仅用于SVN同步目的。对于您的开发,请使用模块项目。

至于您最后的问题,这是Maven的限制,必须将其子模块放在父项目下面。您将无法(至少不容易)在父级下创建模块,将其检入,然后使用新模块检出整个项目。

尽量保持简单。

当您想要同步新模块时,请使用父项目。

祝好

M.


在更好地了解m2e限制和maven项目之后,您的回答真的很有帮助,谢谢。 - ljader

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接