2012-08-14 101 views
5

我最近需要签出一个apache项目来做一些事实调查/调试(特别是maven-surefire-plugin,请参阅this question)。像大多数其他apache项目一样,这是一个maven多模块项目。所以,在eclipse中,我打开SVN存储库 browswer,添加一个新的存储库,找到该项目并找到right-click->Checkout...。在向导中,我单击Checkout as a project in the workspace并输入项目的名称。Eclipse m2e多模块项目签出并转换为maven

我有这个项目,现在我需要让eclipse知道它的一个maven项目,所以right-click->Configure->Convert to Maven Project。现在父项目是一个maven项目。我可以right-click->Run As->Maven Build,它的工作原理。但是,所有的模块都只是文件夹。 Eclipse不知道源代码的位置,甚至不知道它有什么。在单个模块项目中,它会自动设置源文件夹,生成文件夹和其他配置。此外,如果您要从头开始创建一个多模块项目,则首先创建父项目,然后在向其添加模块时,它们各自显示为eclipse中的单个项目,其物理目录位于父项目下根据默认的Maven构建过程需要的文件夹。

现在

所以,知道它的创建新项目时,我可以File->New->Project...,选择General->Project,给项目的名称(我把它匹配的模块名称),取消Use default location并设置Location:的路径到模块内部怎么做父项目文件夹。点击Finish后,为每个其他模块重复这个过程,我有一些看起来与我期望的相似的东西。我现在需要以与父项目相同的方式将每个单独的模块转换为Maven模块。太好了,他们都是Maven项目,对不对?

然后我打开它们,源文件夹没有设置。

呃...然后我去每个项目,拧开它,并在src文件夹我right-click->Build Path->Use as Source Folder。泡沫,冲洗,重复......一旦完成了所有的项目,它看起来和感觉就像我从头开始这个项目。东西的功能。

我的问题是,这真的很难吗?我错过了一个快捷方式吗?如果父母pom上的Configure->Convert to Maven Project意识到这是一个多模块项目并为我完成了所有工作,那么这难道不是有意义吗?对于apache项目来说,这是一个非常痛苦的过程,因为它们似乎都有很多很多模块......任何人都知道更好的过程?

回答

3

您可以尝试将所有代码拉到Eclipse之外,将父项目作为现有的Maven项目(right-click -> Import... -> Existing Maven Projects)导入,并查看它是否全部按照您期望的方式进行。然后对父项目right-click -> Team -> Share Project...

+0

这实际上有效。痛苦,但它的作品。他们确实有一个'Checkout Maven Project',我想可以一步完成,但[它似乎不能用于靛蓝](https://groups.google.com/a/openmrs.org/forum/? fromgroups#!话题的/ dev/HOdx65D3h2U [1-25])。另外值得注意的是,这花了大约3个小时才完成了apache surefire项目(maven-surefire插件的父项)...... – Lucas 2012-08-14 23:18:44