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

时间:2012-07-24 11:34:59

标签: eclipse svn maven m2eclipse m2e

我在设置eclipse + maven + m2e + svn设置时遇到问题。

假设我在svn trunk中检查了具有以下结构的项目:

- 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”构建项目。所以我想将它检查到svn中的ModuleC,但没有选项功能“将模块共享到svn”。

最后我的问题:

  1. 如何将新模块签入现有存储库?是通过eclipse'Share project'还是像Tortoise这样的外部工具?
  2. 如果是通过Eclipse,你会自动在模块项目和svn之间建立“连接”(通过连接我的意思是关于svn url和当前版本的项目注释)
  3. 如果你的情况有'连接',你可以在提交的ModuleC中查找一些内容并在Project-parent上看到'dirty'svn标记吗?
  4. 如何手动实现此类连接?我能做到的唯一方法是删除所有项目并再次执行“从SCM查看Maven项目”并再次选择所有项目。
  5. 当您在工作区以外的位置创建子模块sceleton,然后将其检入svn,如何将其导入工作区并从svn导入m2e?

1 个答案:

答案 0 :(得分:1)

您还必须在eclipse中安装主项目,eclipse是模块的父项。然后,使用此项目检查新模块,就像您为任何更改集所做的那样。该项目仅用于SVN同步目的。对于您的开发,请使用模块项目。

对于您的上一个问题,这是一个maven约束,使其子模块位于父项目下方。您无法(至少不容易)在某处创建模块,在父项下面检查它,然后使用新模块检出整个项目。

尽量保持简单。

如果要同步新模块,请使用父项目。

HIH 微米。