ChatGPT解决这个技术问题 Extra ChatGPT

从 Git 将 Maven 项目导入 Eclipse

如何获得选择从 Maven 和 Git 导入并让 Eclipse 正确生成我的项目的效果?

要将我的项目导入 Eclipse,我可以选择 File->import->maven,然后导入所有 Maven 项目并可以正常构建,或者我可以选择 File->import->git 并创建一个忽略 pom 的新项目.xml 并且无法正确生成项目。

似乎我可以做一个或另一个,但不能将两者结合起来,所以我得到了一个正确生成的项目。


M
Maarten Bodewes

Eclipse Indigo + M2Eclipse 1.0 让它变得非常简单。

如果您还没有用于 M2Eclipse 的 Git 连接器,请安装它。 M2Eclipse 将通过在 Import 菜单上提示您来帮助您。

从 Package Explorer 视图中选择“Import...”上下文菜单 在 Maven 类别下选择“Check out Maven projects from SCM”选项 在显示的窗口中选择链接“Find more SCM connector in the m2e Marketplace Find connector for Git ...安装...重新启动

请注意,在搜索框中,您可能必须输入“EGit”而不是“Git”才能找到正确的连接器。

完成后,只需转到 EGit 存储库,调出工作目录的上下文菜单并选择“导入 Maven 项目...”。

完毕!


我已经在 Indigo 中完成了这项工作,但在 Juno 中,目前存在一个阻止安装 m2e-git SCM 的错误。 bugs.eclipse.org/bugs/…
@medPhys-pl 这似乎是与 m2e 和 EGit 而不是 Git 本身有关的问题。
“容易”是相对的。整个 Eclipse 市场是一团糟,maven 存储库是一团糟,因为它们不跟踪兼容性,所以你最终得到了几十个几乎相同的包的副本,现在添加一个“m2e 市场”并没有让事情变得更好.
@Anony-Mousse:我同意“容易”是相对的。但是,我用它来描述我在解决原始问题(从 Git 存储库中导入 Eclipse)方面的经验。您的抱怨可能是有效的,但不是正在解决的问题。
第 4 步有更正,应该是“..connector for EGit..”。在市场上具体搜索 m2e-egit。
j
joelittlejohn

我将通过命令行(在 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 -> materialize mvn project 以一步实现日食。
嗯,我必须右键单击该项目并使用“团队>共享项目”等,让 EGit 识别它是一个 Git 项目。
T
Tharindu Rajarathna

第 1 步:设置 Eclipse

首先,您需要安装一些 Eclipse 插件。所以使用帮助下拉菜单中的eclipse IDE软件安装功能→安装新软件,并添加指向可用软件站点的链接,然后安装它。

GIT 插件 (EGIT)- http://download.eclipse.org/egit/updates Eclipse Maven 插件 (M2Eclipse) - http://download.eclipse.org/technology/m2e/releases 用于 EGit 的 Maven SCM 处理程序 (m2e-egit ) 从 M2E 市场安装(设置 → Maven → 发现 → 打开目录并搜索“m2e-egit”)

第 2 步:克隆存储库

从 Git 克隆(下载)你的 Maven 项目

从 Git 签出非 Eclipse Maven 项目(文件 → 导入.. → Maven → 从 SCM 签出 Maven 项目)

https://i.stack.imgur.com/TK7Uu.png

现在将您的 git 存储库链接添加到 SCM URI 字段。然后单击下一步并完成。


L
Luca Geretti

在撰写本文(更新)时,工作设置如下:

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])。在不更改项目结构且不将文件保留在工作区之外的情况下,您可以通过克隆工作区文件夹的子子文件夹轻松解决此问题。


3
3 revs, 2 users 90%

我一直在为我的项目测试这个。

Eclispe Indigo “Help > Install New Software” 在“Eclipse Git Plugin ..”启用/安装官方 Git 插件并安装很多。使用这些说明启用 Maven/EGit 连接器 如何让 git 集成与 m2eclipse 一起工作?切换到 Git Repository 透视图。右键单击粘贴项目 git url。默认值应该都有效。您可能想要更改它猜测的安装文件夹。展开克隆的存储库并右键单击“工作树”并选择“导入 Maven 项目...”。切换到 Java 透视图。右键单击项目并选择“团队 > 共享项目”。选择“Git”并确保勾选“在项目的父文件夹中使用或创建存储库”框。


是的,我也是这样做的。不要不明白,为什么 m2e-egit 不自动执行第 6 步。
A
Arlo

这是我的解决方法,这是解决这些问题的方法:

您无法安装 m2e-egit(我在 Juno 中收到错误消息)

将一般项目(连接到您的 Git 存储库)转换为 Maven 项目对您不起作用(导入 Maven 项目步骤似乎必不可少)

从文件系统上的存储库导入 Maven 项目不会显示连接到 Git 的项目。

在 Git Repository Exploring 透视图中设置您的 Git 存储库。切换到 Java 透视图,Import > Existing Maven Projects 浏览到文件系统中的 Git checkout,选择包含 pom.xml 文件的目录。完成导入;你会注意到这些项目没有连接到 Git。 :-( 删除这些项目,但不要从文件系统中删除。我们不希望删除我们的克隆;此任务还将 .project 文件留在后面,以便我们可以在下一步中导入。返回到 Git Repository Exploring 透视图. 右键单击您的存储库,导入项目... 选择导入现有项目 在下面的资源管理器中,浏览并选择包含 pom.xml(和 .project 文件)的目录,然后单击下一步。继续完成向导。


在 Eclipse Luna 中,它在步骤 1.2 之后工作(项目在第一次导入后连接到 Git)。
k
kolobok

无需为 Mylyn 安装任何其他连接器即可导入:

打开 Git 存储库视图(窗口->显示视图->Git 存储库)按克隆 Git 存储库按钮并继续执行所有步骤在新创建的存储库中展开工作目录,右键单击包含项目的文件夹并选择导入项目。然后选择导入现有项目,或选择导入为常规项目。如果需要在导入后右键单击您的项目并选择配置-> 转换为 Maven 项目(和 Maven-> 更新项目)。


P
Peter Hägg

您应该注意,如果有多个开发人员在代码库上工作,那么将生成的元数据置于版本控制之下(让它是 git 或任何其他 scm)并不是一个好主意。两个开发人员可能有完全不同的项目或类路径设置。以防万一您打算在某个时候共享代码...


T
Tom Norton

我有一个 Maven 项目,其中包含三个在 git 中管理的子模块。我在eclipse中设置它们如下:

我使用 EGit 在 eclipse 中注册了 git 存储库 我将项目导入为现有的 Maven 项目 对于每个项目,我去了 Team |分享项目。


V
VilasKolhe

直接回答:转到 Files>>Import>>Git>>Project From Git(你应该在 Eclips 上安装了 GIT)


R
Raghuram

我更愿意将项目作为 maven 项目而不是 git 项目导入 Eclipse。这样做仍然可以将项目内容识别为 git 内容。您可以继续从 Eclipse 执行 git 操作。正如你所提到的,反过来是不正确的。

Eclipse 中项目的性质不是基于保存项目的 SCM,而是基于项目的类型——无论是 war 还是 jar 等——当项目作为 maven 项目导入时自动确定。

我会犹豫是否要签入 SCM IDE 特定的元数据。这样做假设了很多事情——所有开发人员都使用相同的 IDE 或 IDE 版本,也许是相同版本的 JDK/JRE,他们在整个项目生命周期中继续使用相同的版本等等。


d
dimitrisli

您不能将其作为 git 项目导入,然后(如果您安装了 m2eclipse)右键单击 Package Explorer 中的项目 > Maven > Enable Dependency Management


如果不可见并且您已安装 m2e,则打开 .project 文件并自己添加 maven2 性质:org.eclipse.m2e.core.maven2Builder
R
Randy

在 Egit 中查看我的分支后,我切换到 Java 视图,然后使用 File-->Import,Git-->Projects from Git,然后选择顶级 maven 目录。这是与 Eclipse Kepler 一起使用的。


K
Konstantin Komissarchik

无需通过 import->maven 命令不断生成项目元数据,您可以一次生成项目元数据,并将其与其余源代码一起放置在您的 git 存储库中。之后,假设您安装了 maven 工具,使用 import->git 命令将导入一个正确的启用 maven 的项目。

确保将项目目录中以“。”开头的所有文件放入源代码控制系统。例如 .classpath 和 .project 以及 .settings 目录的全部内容。