从 Git 将 Maven 项目导入 Eclipse
Posted
技术标签:
【中文标题】从 Git 将 Maven 项目导入 Eclipse【英文标题】:Importing a Maven project into Eclipse from Git 【发布时间】:2011-06-19 16:21:04 【问题描述】:如何获得选择从 Maven 和 Git 导入的效果并让 Eclipse 正确生成我的项目?
要让我的项目进入 Eclipse,我可以选择 File->import->maven,然后我将所有 Maven 项目导入并可以正常构建,或者我可以选择 File->import->git 并创建一个新项目忽略 pom.xml 并且无法正确生成项目。
似乎我可以做一个或另一个,但不能将两者结合起来,所以我得到了一个正确生成的项目。
【问题讨论】:
【参考方案1】:您无需通过 import->maven 命令不断生成项目元数据,而是一次生成项目元数据,然后将其与其余源代码一起放入您的 git 存储库中。之后,使用 import->git 命令将导入一个正确的支持 maven 的项目,假设你已经安装了 maven 工具。
确保将项目目录中以“.”开头的所有文件放入源代码控制系统。例如 .classpath 和 .project 以及 .settings 目录的全部内容。
【讨论】:
【参考方案2】:我更愿意将项目作为maven
项目而不是git
项目导入Eclipse。这样做仍然可以将项目内容识别为 git 内容。您可以继续从 Eclipse 执行 git 操作。正如你所提到的,反过来是不正确的。
Eclipse 中项目的性质不是基于保存该项目的 SCM,而是基于项目的类型——无论是 war 还是 jar 等——当项目作为 maven 项目导入时自动确定。
我会犹豫是否要签入 SCM IDE 特定的元数据。这样做假设了很多事情 - 所有开发人员都使用相同的 IDE 或 IDE 版本,也许是相同版本的 JDK/JRE,他们在整个项目生命周期中继续使用相同的版本等等。
【讨论】:
【参考方案3】:你不能将它作为一个 git 项目导入,然后(如果你安装了 m2eclipse)右键单击 Package Explorer > Maven
> Enable Dependency Management
中的项目吗?
【讨论】:
如果不可见并且您已安装 m2e,则打开 .project 文件并自己添加 maven2 特性:我会通过命令行(在 Eclipse 之外)执行 git clone,然后使用 File -> Import... -> Existing Maven Projects。
您的项目将被理解为使用 Git 和 Maven。这是导入 IMO 最快、最可靠的方式。
【讨论】:
是的,这确实有效,但是较新的 m2 终于与 git 和 svn 很好地集成了。正如其他人所指出的那样,EGit 1.0.0、m2e 1.0 和 m2e-egit 0.13 将为您提供 git -> 实现 mvn 项目以一步完成。 嗯,我必须右键单击该项目并使用“团队>共享项目”等,才能让 EGit 识别它是一个 Git 项目。【参考方案5】:Eclipse Indigo + M2Eclipse 1.0 让它变得非常简单。
如果您还没有用于 M2Eclipse 的 Git 连接器,请安装它。 M2Eclipse 将通过在 Import 菜单上提示您来帮助您。
-
从 Package Explorer 视图中选择“Import...”上下文菜单
选择 Maven 类别下的“Check out Maven projects from SCM”选项
在显示的窗口中选择链接“在 m2e 市场中查找更多 SCM 连接器
查找 Git 连接器...安装...重新启动
请注意,您可能必须在搜索框中输入“EGit”而不是“Git”才能找到正确的连接器。
完成后,只需转到 EGit 存储库,调出工作目录的上下文菜单并选择“导入 Maven 项目...”。
完成!
【讨论】:
我已经在 Indigo 中完成了这项工作,但在 Juno 中,目前存在一个错误,阻止了 m2e-git SCM 的安装。 bugs.eclipse.org/bugs/… @medPhys-pl 这似乎是与 m2e 和 EGit 而不是 Git 本身有关的问题。 "easy" 是相对的。整个 eclipse 市场一团糟,maven 存储库一团糟,因为它们不跟踪兼容性,所以你最终得到了几十个几乎相同的包的副本,现在添加了一个“m2e 市场” " 并没有让事情变得更好。 @Anony-Mousse:我同意“简单”是相对的。但是,我用它来描述我在解决原始问题(从 Git 存储库导入 Eclipse)方面的经验。您的抱怨可能是有效的,但不是正在解决的问题。 第4步有修正,应该是“..connector for EGit..”。在市场上具体搜索 m2e-egit。【参考方案6】:截至(更新)撰写本文时,工作设置如下:
-
Eclipse 3.8(Eclipse Indigo 更新站点)
EGit 1.3.0(Eclipse Indigo 更新站点)
m2e 1.0.200(Eclipse Indigo 更新站点)
m2e-egit 0.14.0(添加连接器时的 m2e 市场)
在 Ubuntu Raring 上测试。
您当然可以“导入”->“Maven”->“从 SCM 签出 Maven 项目”,这是最快的方法。但是,这种直接导入目前无法让您控制克隆的存储库文件夹名称。您最好从“Git 存储库”视图工作并执行“从 Git 存储库克隆并将克隆添加到此视图”,然后从此类克隆执行“导入 Maven 项目”;最长的方法是进行手动克隆,然后“将现有的本地 Git 存储库添加到此视图”,然后再执行“导入 Maven 项目”。无论哪种情况,您都可以完全控制克隆的文件夹。
关于一个让我沮丧地哭泣的附带问题的最后评论。据我所知,如果克隆的存储库位于 Eclipse 工作区的根目录,并且 Maven 项目文件层次结构的根目录有 POM,则导入此类根项目将重命名克隆文件夹(使用您选择的模板,默认到 [artifactId])。在不更改项目结构且不将文件保留在工作区之外的情况下,您可以通过克隆工作区文件夹的子子文件夹轻松解决此问题。
【讨论】:
【参考方案7】:我一直在为我的项目进行测试。
-
Eclispe 靛蓝
“帮助 > 安装新软件”在“Eclipse Git 插件 ..”启用/安装官方 Git 插件并安装批次。
使用这些说明启用 Maven/EGit 连接器How do you get git integration working with m2eclipse?
切换到 Git 存储库透视图。右键单击粘贴项目 git url。默认值应该都有效。您可能想要更改它猜测的安装文件夹。
展开克隆的存储库并右键单击“工作树”并选择“导入 Maven 项目...”。
切换到 Java 透视图。右键单击项目并选择“团队 > 共享项目”。选择“Git”并确保勾选“在项目的父文件夹中使用或创建存储库”框。
【讨论】:
是的,我也这样做了。不要不明白,为什么 m2e-egit 不自动执行第 6 步。【参考方案8】:您应该注意,如果有多个开发人员在代码库上工作,那么将生成的元数据置于版本控制之下(让它是 git 或任何其他 scm)并不是一个好主意。两个开发人员可能有完全不同的项目或类路径设置。以防万一您打算在某个时候共享代码...
【讨论】:
【参考方案9】:这是我的解决方法,这是解决这些问题的方法:
您无法安装 m2e-egit(Juno 中出现错误) 将一般项目(连接到您的 Git 存储库)转换为 Maven 项目不适合您(导入 Maven 项目步骤似乎必不可少) 从文件系统上的存储库导入 Maven 项目未显示连接到 Git 的项目。-
在 Git Repository Exploring 透视图中设置您的 Git 存储库。
切换到 Java 视角,导入 > 现有 Maven 项目
在文件系统中浏览到您的 Git 签出,选择包含 pom.xml 文件的目录。完成导入;
你会注意到这些项目没有连接到 Git。 :-(
删除这些项目,但不要从文件系统中删除。
我们不希望我们的克隆被删除;此任务还会留下 .project 文件,以便我们可以在下一步中导入。
返回到 Git 存储库探索 视角。
右键单击您的存储库,导入项目...
选择导入现有项目
在下面的资源管理器中,浏览并选择包含 pom.xml(和 .project 文件)的目录,然后单击下一步。
继续完成向导。
【讨论】:
在 Eclipse Luna 中,它在步骤 1.2 之后工作(项目在第一次导入后连接到 Git)。【参考方案10】:我有一个 Maven 项目,其中包含三个在 git 中管理的子模块。我在eclipse中设置它们如下:
-
我使用 EGit 在 eclipse 中注册了 git 存储库
我将项目作为现有 Maven 项目导入
对于每个项目,我都去了团队 | 分享项目。
【讨论】:
【参考方案11】:在不为 Mylyn 安装任何其他连接器的情况下导入:
-
打开
Git Repositories
视图(窗口->显示视图->Git 存储库)
按Clone a Git Repository
按钮并继续所有步骤
在新创建的存储库中展开Working Directory
,右键单击您的项目所在的文件夹并选择Import Projects
。然后要么选择Import existing projects
,要么选择Import as general project
。如果需要在导入后右键单击您的项目并选择配置->转换为 Maven 项目(和 Maven->更新项目)。
【讨论】:
【参考方案12】:在 Egit 中检查出我的分支后,我切换到 Java 视图,然后使用 File-->Import、Git-->Projects from Git,然后选择*** maven 目录。这是与 Eclipse Kepler 一起使用的。
【讨论】:
【参考方案13】:第 1 步:设置 Eclipse
首先,您需要安装一些 Eclipse 插件。所以使用帮助下拉菜单→安装新软件中的eclipse IDE软件安装功能,并添加到可用软件站点的链接,然后安装它。
-
GIT 插件 (EGIT)-http://download.eclipse.org/egit/updates
Eclipse Maven 插件 (M2Eclipse) - http://download.eclipse.org/technology/m2e/releases
用于 EGit (m2e-egit) 的 Maven SCM 处理程序
从 M2E 市场安装(设置 → Maven → 发现 → 打开目录并搜索“m2e-egit”)
第 2 步:克隆存储库
从 Git 克隆(下载)你的 Maven 项目
从 Git 签出非 Eclipse Maven 项目(文件 → 导入.. → Maven → 从 SCM 签出 Maven 项目)
现在将您的 git 存储库链接添加到 SCM URI 字段。然后单击下一步并完成。
【讨论】:
【参考方案14】:直接回答:转到 Files>>Import>>Git>>Project From Git(你应该在 Eclips 上安装了 GIT)
【讨论】:
以上是关于从 Git 将 Maven 项目导入 Eclipse的主要内容,如果未能解决你的问题,请参考以下文章
maven项目从git导入后,不能用怎么办在Eclipse中用git提交时,如何避免提交.classpath.settings.project文件