2011-04-15 45 views
6

我目前正在一个由5位同事组成的团队内进行Java项目的研究工作。实际上,我们将在未来几天内完成规划阶段,然后开始实施。如何将Mercurial,Maven和Eclipse一起使用?

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

应该在存储库上放置什么?整个Eclipse项目?或者只是源文件和Maven的pom.xml?如果是后者,工作会议将如何进行?拉文件,用mvn eclipse创建一个Eclipse项目:eclipse,编写一段时间并提交/推送他们到回购?

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

回答

7

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

创建Maven项目:

文件 - >新建 - >其他 - > Maven项目

在Project Explorer中右键单击新创建Maven项目

团队 - >共享项目... - > Mercurial - >(保持文件夹不变)Finish

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

在项目资源管理器中右键点击新创建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目录/ test/java下
  • 的myproject/src目录/测试/资源

比如我把一个文件名为.empty它与内容“这是一个占位符文件,如果删除其他文件,在这个文件夹”

如果某些文件夹,这样的缺失你的同事会看到在Eclipse中的错误,如果他们导入您的项目。

首先承诺:

在项目资源管理上的新创建Maven项目右键单击

团队 - >提交 - >选择所有并输入信息提交 - >完成

现在你可以克隆它到位桶(我没有用到位桶经验)。

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

文件获得回购 - >新建 - >其他 - >从SCM签出Maven项目 - >输入网址到您的回购 - >完成

然后,你是好去。

2

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

首先,用Maven构建一个源代码树,然后检查Hg。不要碰日食。你会想找到一些用于Hg的Eclipse插件。

然后,看看两个备选方案:maven-eclipse-pluginM2eclipse

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

M2Eclipse是一个Eclipse集成了Maven构建的插件。这是非常雄心勃勃的。但是,它是目前的头像是相当新的,可以充满惊喜。

+0

“你是好去”?你的意思是,那么我已经完成了Maven(一段时间),可以开始工作(拉,代码与Eclipse,提交,推)? – flog 2011-04-15 12:10:28

+0

是的,这就是我的意思。 – bmargulies 2011-04-16 01:10:56