4

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

最后我的问题:

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

1 回答 1

1

您还必须在模块的父级 eclipse 中挂载主项目。然后,使用此项目来签入新模块,就像您对任何更改集所做的那样。此项目仅用于 SVN 同步目的。对于您的开发,请使用模块项目。

对于您的最后一个问题,这是一个 Maven 约束,将其子模块置于父项目之下。您将无法(至少不容易)在某处创建模块,将其签入父级下方,然后使用新模块签出整个项目。

尽量保持简单。

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

嗨,M。

于 2012-07-24T12:28:39.013 回答