从 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 特性:org.eclipse.m2e.core.maven2Builder【参考方案4】:

我会通过命令行(在 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的主要内容,如果未能解决你的问题,请参考以下文章

利用eclips创建一个maven项目

maven项目从git导入后,不能用怎么办在Eclipse中用git提交时,如何避免提交.classpath.settings.project文件

eclipse从git下载的maven项目需要转成maven才可是使用main方法启动

eclips新建Maven Web项目

eclipse如何导入java项目文件

从git拉maven项目导包失败的总结