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

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

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

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

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

我使用类似的设置,除了我使用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项目 – >输入url到您的仓库 – >完成

然后你很高兴去。

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

首先,使用您检入Hg的Maven构建设置源树。 不要触摸日食。 你会想为Hg找到一些Eclipse插件。

然后,看看两个选择: maven-eclipse-plugin和M2eclipse 。

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

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