如何将Mercurial,Maven和Eclipse结合使用?

时间:2011-04-15 11:50:48

标签: java eclipse mercurial maven project

我目前正在一个由5名大学同事组成的团队中开展Java项目。实际上,我们将在接下来的几天内完成规划阶段,然后开始实施。

对于该项目,我们必须使用Mercurial(通过Bitbucket.org)和Apache Maven。我们想将Eclipse用作IDE。我知道如何使用Mercurial,我已经阅读了一些关于Maven的文章和指南。我不明白的是我们应该如何合作使用这些工具。

应该在存储库中放置什么?整个Eclipse项目?或者只是源文件和Maven的pom.xml?如果是后者,工作会话会是什么样子?拉动文件,使用mvn eclipse:eclipse创建一个Eclipse项目,编写一段时间并将它们提交/推送到repo?

我负责创建项目结构,所以我和我的同事也可以开始开发。但我真的不知道如何开始。如果使用Maven不是强制性的,我只需将Eclipse项目放入存储库即可。但是不得不使用它,现在我很困惑如何影响一切。

2 个答案:

答案 0 :(得分:8)

我使用类似的设置,除了我使用Dropbox作为我的存储库(只有两个开发人员)。只需按照以下步骤操作,使用m2eclipse(更新网站:http://m2eclipse.sonatype.org/sites/m2e)和MercurialEclipse(更新网站:http://cbes.javaforge.com/update)插件即可在日食中完成所有操作。

创建一个maven项目:

  

档案 - >新 - >其他 - > Maven项目

在Project explorer中,右键单击新创建的maven项目

  

团队 - >分享项目...... - > Mercurial - > (保留文件夹)完成

然后在项目根目录中创建一个.hgignore文件:

在Project explorer中,右键单击新创建的maven项目

  

新 - >档案 - >文件名:.hgignore和完成

.hgignore:

syntax: regexp
target      # maven output
\.classpath # eclipse
\.project   # eclipse
\.settings  # eclipse
test-output # eclipse junit/testng plugin output

然后你可以进行第一次提交,但要注意,hg不会在其存储库中存储空文件夹,因此为了保持maven文件夹结构中没有源代码,你必须在每个空文件夹中放入一个(空)文件,对于一个没有任何来源的简单maven项目,它将在文件夹中:

  • 的myproject / SRC /主/ JAVA
  • 的myproject / SRC /主/资源
  • 的myproject / SRC /测试/ JAVA
  • 的myproject / SRC /测试/资源

例如,我将一个名为.empty的文件放入其中,内容为“这是一个占位符文件,如果其他文件在此文件夹中则删除”

如果缺少某些文件夹,您的同事会在导入项目时看到eclipse中的错误。

第一次提交:

在Project explorer中,右键单击新创建的maven项目

  

团队 - >提交...... - >选择全部并输入提交消息 - >完成

现在你可以将它克隆到bitbucket(我没有bitbucket的经验)。

告诉你的同事安装两个eclipse插件然后他们可以通过

获得repo
  

档案 - >新 - >其他 - >从SCM查看Maven项目 - >输入您的回购网址 - >完成

然后你很高兴。

答案 1 :(得分:2)

以下是基于ASF实践的替代方案(尽管我们不使用Mercurial)。

首先,设置一个包含Maven构建的源树,并将其检入Hg。不要触摸日食。你想找到一些Hg的Eclipse插件。

然后,看看两个选择:maven-eclipse-pluginM2eclipse

maven-eclipse-plugin是一个maven插件。您从命令行运行它,它会生成.project和.classpath以及一些.settings。它目前尚未开发,但在许多常见情况下它非常稳定且功能齐全。然后导入“现有的Eclipse项目”,你就可以了。

M2Eclipse是一个集成了Maven构建的 Eclipse 插件。这是雄心勃勃的。然而,它目前的化身是相当新的,并且可以充满惊喜。