将Eclipse项目类型从general转换为Java

将Eclipse项目类型从general转换为Java,java,eclipse,svn,subversive,Java,Eclipse,Svn,Subversive,我正在接管另一个团队的项目,遇到了一些奇怪的Eclipse问题 我使用Subversive作为我的插件,当我去签出主干时,它会将我带到一个标准的“签出为”对话框,在那里它允许我选择签出方法,唯一对我有效(或适用)的是最后一个选项(签出为指定名称的项目) 因此,我指定了名称,然后项目将正常签出,一切正常,除了 尽管这应该是一个Java项目(将其升级为Java web应用程序),但创建该项目的团队似乎将其创建为一个通用项目(通过转到project>Properties>Resource>Type='

我正在接管另一个团队的项目,遇到了一些奇怪的Eclipse问题

我使用Subversive作为我的插件,当我去签出主干时,它会将我带到一个标准的“签出为”对话框,在那里它允许我选择签出方法,唯一对我有效(或适用)的是最后一个选项(
签出为指定名称的项目

因此,我指定了名称,然后项目将正常签出,一切正常,除了

尽管这应该是一个Java项目(将其升级为Java web应用程序),但创建该项目的团队似乎将其创建为一个通用项目(通过转到
project>Properties>Resource>Type='project'

因此,Java项目附带的所有典型功能均未启用,包括(但肯定不限于):

  • F3不起作用,即使该类型与我当前编辑的类型在同一个包(本例中为文件夹)中定义(因为Eclipse没有将其视为Java项目)
  • 无法搜索Java类
  • 无法从Eclipse内部构建(因为没有源程序包,只有文件夹),等等
  • 这张单子上有很多
因此,我的问题是:

  • 有没有一种方法可以将这个通用项目类型转换为Java项目,而不必创建一个全新的项目并复制所有内容
  • 我想知道我是否签出了错误的项目,但是(Subversive中)没有任何签出方法真正适用:(1)
    签出为使用“新建项目向导”配置的项目(为什么签出为新项目?!?)(2)
    在所选资源的子项中查找项目(否),(3)
    作为文件夹签出到现有项目中
    (否)
  • 有没有其他途径我可以在这里“Java化”这个项目

部分响应:您可以通过向项目根目录下包含的
.project
文件添加以下内容,将项目转换为Java项目:

<natures>
    <nature>org.eclipse.jdt.core.javanature</nature>
 </natures>

org.eclipse.jdt.core.javanature

我认为签出为新项目的目的是能够为一个没有.project和.classpath文件的项目创建一个“Eclipse项目”。例如,这允许您说该项目实际上是一个Java项目。

项目属性->项目面->转换为面形式…
下,您可以选择
Java
-这将向您的项目添加Java功能。如有必要,您还可以添加其他方面,如
动态Web模块


根据您编写的内容,项目已正确签出。当存储库中不存在
.project
文件并且您必须手动选择项目类型时,使用“新建项目向导”配置的选项
作为项目签出将适用。它只会在本地创建一个新的Eclipse项目。

另请参见下面的答案,这些答案不足以让项目正常构建和运行。有关更完整的答案,请参见@Pops的链接。(例如,指定“org.eclipse.jdt.core.javabuilder”的用法)我在eclipseNote上看不到项目方面说明“项目方面”仅在eclipse的Java EE版本(或安装了WTP)中可用。有关在所有版本中都具有此功能的信息,请参阅。我在eclipse中安装了WTP,但在属性中找不到Project Facets选项。您可能应该更新此答案以匹配eclipse的现代版本。@Luís您是什么意思?我刚刚在当前版本的Eclipse(4.6)中对其进行了测试,它仍然可以像我描述的那样工作。