将 Eclipse 项目类型从常规转换为 Java

2022-09-01 12:40:23

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

我正在使用Subversive作为我的插件,当我去检查主干时,它会把我带到一个标准的“Check Out As”对话框,它允许我选择签出方法,唯一对我有用(或适用)的是最后一个选项()。Check out as a project with the name specified

所以我指定了名称,然后项目像往常一样签出,一切都很好,除了......

尽管这应该是一个Java项目(WAR向上进入Java Web应用程序),但似乎创建该项目的团队将其创建为一个通用项目(通过转到)。Project > Properties > Resource > Type = 'Project'

因此,Java项目附带的任何典型功能都没有启用,包括(但不限于):

  • F3不起作用,即使类型与我当前正在编辑的类型在同一包(在本例中为文件夹)中定义(因为 Eclipse 没有将其视为 Java 项目)
  • 无法搜索 Java 类
  • 无法从 Eclipse 内部构建(因为没有源包,只有文件夹)等。
  • 这个清单不胜枚举...

所以我的问题是:

  • 有没有办法将此常规项目类型转换为Java项目,而无需创建一个全新的项目并复制所有内容?
  • 我想知道我是否错误地签出了项目,但是没有一种结帐方法(在Subversive中)真正适用:(1)(为什么作为新项目签出?!?),(2)(否),(3)(否)。Check out as a project configured using the New Project WizardFind projects in the children of the selected resourceCheck out as a folder into an existing project
  • 我还可以在这里通过“Java-ify”这个项目来介绍其他途径吗?

答案 1

在“您可以选择 - 这会将 Java 功能添加到项目中”在那里,您还可以添加其他方面,例如如有必要。Project Properties -> Project Facets -> Convert to faceted form...JavaDynamic Web Module

从您编写的内容中,项目已正确签出。当存储库中不存在文件并且您必须手动选择项目类型时,该选项适用。它只会在本地创建一个新的 Eclipse 项目。Check out as a project configured using the New Project Wizard.project


答案 2

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

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

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


推荐