2012-07-24 48 views
4

即时通讯配置我的eclipse + maven + m2e + svn设置有问题。如何svn结帐和签入maven multimodule项目

让我们假设我有项目检查在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全新安装”。所以我想检查它的模块化为svn,但没有选项功能“共享模块到SVN”。

最后我的问题:

  1. 如何在新的模块集成到现有的存储库检查?它是通过日食“共享项目”还是像乌龟这样的外部工具?
  2. 如果它通过Eclipse,你会自动有模块项目和svn之间的“连接”(通过连接我的意思是关于svn url和当前版本的项目注释)
  3. 当你有'连接'的情况下,你能在提交的ModuleC中填充一些东西,然后在Project-parent上看到'dirty'svn标记?
  4. 如何手动实现此类连接?我能做到的唯一方法就是删除所有项目,然后再次执行“从SCM签出Maven项目”并再次选取所有项目。
  5. 当您在工作空间的不同位置创建子模块sceleton,然后将其检入到svn中时,如何将其导回工作空间并从svn导入到m2e中?

回答

1

您还必须将主项目挂载到模块的父级eclipse中。然后,使用此项目检查新模块,就像您对任何更改集进行操作一样。该项目仅用于SVN同步目的。为了您的发展,请使用模块项目。

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

尽量保持简单。

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

HIH M.

+0

更好会心M2E限制和Maven项目后,你的答案是真正有用的,TNX。 – ljader 2013-04-10 11:52:11