如何将GIT非Eclipse Java项目导入Eclipse?

Rob*_*ert 43 java eclipse git import egit

将Java项目导入我的工作区时遇到一些问题.我下面这个教程 -但我不能使用最后导入现有项目的步骤,因为我用的是Git仓库不包括Eclipse的具体.project.classpath文件.

使用"新建项目"向导

因此,项目不会被识别为项目,因此无法导入.因此,我尝试使用" 使用新项目"向导选项并在下一个对话框中选择"Java项目".问题是这会创建一个没有任何内容的新Java项目!该项目也没有连接到GIT存储库.

编辑:这是一个已知的eGIT 错误:错误324145 - 项目导入不适用于abitary项目类型 - 如果你想要这个问题固定投票...

导入为一般项目

如果我使用Import作为一般项目, Eclipse总是希望将外部存储库目录用作项目目录,这不是我想要的,另外创建的项目不支持Java.

因此我想问为什么使用eGIT将Java项目导入Eclipse是如此复杂?

Lyc*_*cha 36

首先可以克隆存储库,然后基于此创建一个General项目.然后,您可以将其转换为Java项目.方法如下:

  • 首先去File> Import...> Projects from GIT.
  • Select a Git Repository视图中,您首先按Clone.并按照说明操作.这将为您的计算机创建存储库的本地"签出".您可以将文件夹设置为您的工作区,使其看起来像您的其他任何eclipse项目.
  • 克隆存储库后,您将返回Import-view.现在,您可以从列表中选择刚刚克隆的存储库.
  • 单击Next并选择Import as General Project.现在你有一个用于eclipse的git存储库.
  • 将其转换为Java项目:将其他Java项目中的元素naturebuildCommand元素添加到您的.project文件中:

相关部分来自.project:

<buildSpec>
    <buildCommand>
        <name>org.eclipse.jdt.core.javabuilder</name>
        <arguments>
        </arguments>
    </buildCommand>
</buildSpec>
<natures>
    <nature>org.eclipse.jdt.core.javanature</nature>
</natures>
Run Code Online (Sandbox Code Playgroud)

然后从Project> Properties> Java Build Path> Source添加源文件夹(和可能的库).

编辑:添加到Java项目的转换.

  • 这些步骤很好,但是要在Eclipse中配置为Java项目,我会去Project> Properties> Project Facets,检查"Java"Project Facet,Apply和OK. (2认同)

Pau*_*ter 6

使用Git(尤其是EGit),您的2个最佳选择是:

1)在eclipse中创建一个java项目,然后创建一个链接文件夹到源存放在git存储库中的位置(由@mattb提到).我不认为EGit会在这种模式下轻松连接到你的git repo,但你的eclipse特定项目文件将位于与源树不同的位置.

2)创建你的java项目,让它指向外部git repo(你提到过).它将创建一个.project和.classpath文件,其中包含源代码.然后使用Team>Share Project将允许您将EGit连接到现有的git仓库.

选项2(我使用)允许工具可靠地使用git仓库中的Java项目.


Utk*_*mir 5

可能并不适用于你的项目,但如果你在项目中使用Maven,您可以导入它Maven Project在Eclipse如果你已经m2e安装了,这种方式所需的所有文件一样.project,.classpath将会产生.我认为这是一个很好的方法,因为如果你pom.xml的编写得很好,它可以包含有关项目的所有必要信息,例如构建目标目录,类路径,java版本等,它可能适用于大多数populer IDE.

我建议习惯在每个java项目上使用Maven,甚至是一个简单的hello world应用程序,因为我认为它是Java项目的某种"标准化".