如何将Eclipse默认项目更改为Java项目

148

我从SVN中检出了一个项目,但没有指定项目类型,因此它被检出为“默认”项目。最快的方法是什么可以将其快速转换为“Java”项目?

我正在使用Eclipse 3.3.2版本。


2
我不明白为什么对于Eclipse来说这必须是如此困难的事情。 - Oliver Watkins
11个回答

128

打开 .project 文件,添加 Java nature 和 builders。

<projectDescription>
    <buildSpec>
        <buildCommand>
            <name>org.eclipse.jdt.core.javabuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
    </buildSpec>
    <natures>
        <nature>org.eclipse.jdt.core.javanature</nature>
    </natures>
</projectDescription>

在 .classpath 中引用 Java libs:

<classpath>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
</classpath>

27
我同意Lorenzo的观点,通过手动编辑配置文件来配置Eclipse是一个会导致麻烦的好方法。 - Adam
5
在某些版本的界面和某些插件的帮助下,可以通过界面完成这项操作。 - Chris Marasti-Georg
1
@ChrisMarasti-Georg 是的,你说得对,但即使如此,解决方案也应该包括安装那些插件或更新UI,而不是手动调整XML文件,特别是当用户不知道自己在做什么时。此外,这也违背了拥有先进IDE的目的。 - ricardoespsanto
1
在我的情况下,我只需要将<natures />添加<nature>标签即可。我导入了一个现有的Maven项目,但Eclipse没有将其识别为Java项目。然而,Eclipse已经正确配置了Maven <buildCommand>部分。希望对你有所帮助。 - Nathan Smith
不要忘记将 src 目录也添加到类路径中 <classpathentry kind="src" path="src"/>,同样也要添加 bin 目录 <classpathentry kind="output" path="bin"/> - krispy
显示剩余4条评论

121

在Eclipse中,如果你不知道自己在做什么,手动更改XML和/或设置是非常危险的。否则,你可能会发现整个项目都被搞砸了。强烈建议备份!

如何仅使用Eclipse进行操作?

  1. 选择项目。
  2. 通过 Project -> Properties 打开项目属性。
  3. 进入“Targeted Runtimes”,添加适当的运行时。点击“应用”。
  4. 进入“Project Facets”,选择由第4步出现的JAVA Facet。点击“应用”。
  5. 设置构建路径。
  6. 如果这是一个Maven项目,你可能想选择该项目,点击 Maven -> Update Project configuration...

这对我很有用。Eclipse配置正确了。希望对您也有用。


26
Lorenzo知道正确的方法。使用Indigo: 右键单击项目 > 属性... > 项目面板 > 勾选Java > 应用 - Thien
13
在Eclipse Indigo中,项目属性中没有“Targetted Runtimes”的选项,至少我找不到它。 - simon
8
@Lorenzo 我正在使用STS,但在项目属性的"Project Facets"下没有"Java facet"选项。有任何想法吗? - Robert
17
请注意,“项目结构”仅在安装了Java EE版本的Eclipse(或安装了WTP)中才可用。要使所有版本都具备此功能,请参见Eclipse Bug 102527 - robinst
10
没用!我没有"Targetted Runtimes"和"Project Facets"。 - Lai
显示剩余6条评论

54

在最近的Eclipse版本中,解决方法有所不同...

  1. 右键单击并选择“项目属性”
  2. 选择“项目结构”
  3. 如果需要,点击“转换为结构形式”
  4. 选择“Java”结构
  5. 点击“确定”

23

我删除了项目但没有移除内容,然后从现有资源创建了一个新的Java项目,指向我的SVN检出根目录。这种方法对我有效。尽管Chris的方式会更快,但这对于将来来说是个好注意事项。谢谢!


你的方法是可行的,但有一个重要的点:如此处所述,你不能取消“使用默认位置”的勾选。 - Robin Green

14
在更新的Eclipse版本中(我正在使用4.9.0),有另一种可能更容易的方法。除了Project Facets之外,现在还有Project Natures。在这里,过程很简单:打开Project Natures属性页面,然后点击“Add...”按钮。这将显示可能包括Java Nature和Eclipse Faceted Project Properties在内的各种特性。只需添加Java Nature并忽略各种警告消息即可完成。

Project Nature

这种方法可能更好,因为你不需要先转换为分面形式。此外,在添加分面菜单中没有提供Java。


谢谢。我找了一个小时才找到这个。 - Ridhuvarshan
3
这种方法非常快速,并且适用于现代版本的Eclipse。之前的回答已经有些过时了。 - dodobird

13
使用项目{Project facets},我们可以为项目配置特性和要求。
在Eclipse中找到{Project facets}:
步骤1: 右键单击项目,从菜单中选择{属性}。
步骤2: 选择{项目facets}选项。点击{转换为faceted form...} enter image description here 步骤3: 我们可以找到所有可用的facets并选择更改它们的设置。 enter image description here

解决这个问题的惊人方法。 - Atiq

11

Joe的方法实际上是我发现的最有效的进行此对话的方法。更详细地说明一下,您应该在Eclipse的包资源管理器中右键单击项目,然后选择删除它,但不要删除目录或其内容。接下来,您选择创建Java项目(文件-> 新建-> Java项目),在新Java项目对话框的“内容”部分中,选择“从现有源代码创建项目”。

这种方法的优点是源文件夹将被正确识别。我发现对.project文件进行操作会导致整个目录被视为源文件夹,这并不是您想要的。


使用Eclipse Kepler版本build 20140224-0627,"文件->新建->项目...->从现有源代码"似乎是最简单的方法。 - user1050755
在 Kepler 中,这个过程略有不同,“从现有源代码创建项目”的步骤是不必要的。但是,确实这是最好的方法。 - Luís de Sousa

6
您可以直接从Eclipse中使用Navigator视图(Window -> Show View -> Navigator)进行操作。在Navigator视图中选择项目并打开它,以便您可以看到文件.project。右键单击->打开。您将获得一个XML编辑器视图。编辑节点natures的内容,并插入一个新的子节点nature,其内容为org.eclipse.jdt.core.javanature。保存。
现在创建一个名为.classpath的文件,它将在XML编辑器中打开。添加一个名为classpath的节点,添加一个名为classpathentry的子节点,其中包含属性kind,内容为con,另一个名为path和内容为org.eclipse.jdt.launching.JRE_CONTAINER。保存。
更简单的方法是:从现有的Java项目中复制文件.project和.classpath,并编辑节点result name以匹配此项目的名称。可能需要刷新项目(F5)。
您将获得与Chris Marasti-Georg解决方案相同的结果。

3
另一种可能的方法是从Eclipse中删除项目(但不要从磁盘中删除项目内容!),然后使用“新建Java项目”向导来就地创建项目。该向导将自动检测Java代码并设置构建路径。

1
  1. 右击项目
  2. 配置 -> '转换为面向方面的形式'
  3. 会弹出一个窗口,请在'项目方面'栏中选择'Java'。
  4. 点击应用和确定。

Configure只有两个选项:1.转换为Maven 2.配置并检测嵌套项目。我需要激活任何东西才能看到“将配置为面向方面的形式”吗? - Reihan_amn
1
@Reihan_amn,看起来你当前安装的Eclipse不支持这个功能。我不确定哪些插件负责“Faceted form”,但如果你下载Eclipse EE版本,它会默认包含此功能。 - semTex

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接