将 Eclipse 项目导入 NetBeans IDE
目录

要完成本教程,您需要具备以下软件和资源。
“导入 Eclipse 项目”向导
NetBeans IDE 6.5 引入了增强的“导入 Eclipse 项目”向导。此向导支持您使用 NetBeans 操作在 Eclipse 和 MyEclipse 中创建的 Java 桌面和 Web 应用程序。
从 Eclipse 项目创建 NetBeans 项目之后,您可以采用以下工作方式:
- 使用 NetBeans 操作团队项目,而其他开发人员使用的是 Eclipse。
- 交互使用 NetBeans 和 Eclipse 操作项目。
- 使用 NetBeans 操作在 Eclipse 中建立的现有项目。
导入向导的运行原理
当您导入项目时,IDE 会分析 Eclipse 项目元数据,然后根据这些元数据来创建 NetBeans 项目。项目导入不会对 Eclipse 项目结构进行更改,因此它不会干扰项目在 Eclipse 中的运行方式。
导入项目之后,您可以使用 NetBeans 或 Eclipse IDE 来编辑、生成、运行、调试和分析项目。如果您对 Eclipse 项目的配置进行了更改,那么可以重新同步 NetBeans 项目。这允许您在其他团队成员使用 Eclipse 的情况下使用 NetBeans 来操作项目。您在 Eclipse 中设置的生成路径仍然是项目的主生成路径。
导入和配置项目
将 Eclipse 项目导入 NetBeans:
- 确保您希望导入到系统中的项目有自己的副本。
通常,该项目应该已经在您系统上的某个 Eclipse 工作区中。
- 选择“文件”>“导入项目”>“Eclipse 项目”。
- 在向导的“工作区位置”页面中,选中“从工作区导入项目”单选按钮并指定工作区路径。

- 在“要导入的多个项目”页面中,选择您希望导入的项目。然后,选择存储 NetBeans 项目文件的两个选项之一:
- 在 Eclipse 项目文件夹内存储 NetBeans 项目数据。NetBeans 在原始项目的顶级文件夹中添加文件夹和文件。
- 在单独位置创建导入的 NetBeans 项目。 NetBeans 使用原始 Eclipse 项目文件夹中的源代码和库,但是会创建一个单独的文件夹来存储 NetBeans 项目元数据和生成输出。
通常,在 Eclipse 项目文件夹中存储 NetBeans 项目数据是更好的选择。在大多数情况下,这意味着 NetBeans 项目元数据将采用与 Eclipse 元数据相同的路径来引用源代码和库。因此,在不同的机器上从版本控制系统中签出项目应该在 NetBeans 和 Eclipse 中产生类似的行为。
有关 NetBeans 创建的文件和文件夹列表,请参见下面的 NetBeans 项目文件。
- 在“服务器”页面中,注册 NetBeans IDE 项目需要的任何服务器。(如果您未导入 Web 应用程序,则不会出现此页面。)
完成向导之后,可能会出现以下对话框:

完成向导并关闭上述任何信息对话框之后,各项目的节点将出来在“项目”窗口中。

如果存在 NetBeans 无法解析的项目元数据到服务器或其他资源的引用,则项目节点将变为红色。您可以立即解析这些引用,方法是右键单击项目节点并选择“解决引用问题”或“解决缺少服务器问题”。

对于其他类型的项目配置调整,您可以使用“项目属性”对话框。使用以下方法打开“项目属性”对话框:右键单击项目节点,然后选择“属性”。
有关配置项目的更多信息,请参见“创建、 导入和配置 Java 项目”指南中的配置类路径和其他项目设置。
生成和运行项目
将项目导入到 NetBeans 中之后,您可以生成和运行项目。通过 NetBeans 生成和运行命令创建的所有工件都保存在 build 和 dist 文件夹中。NetBeans 不会覆盖由 Eclipe 生成操作创建的输出。如果 Eclipse 项目已经有了 build 和 dist 文件夹,则 NetBeans 项目将创建名称为 nbbuild 和 nbdist 的文件夹,并使用它们保存生成输出。
下面列出了“运行”菜单中可用的一些生成和运行命令:
- 运行项目。 尝试在 IDE 中运行应用程序。
- 清理并生成项目。 删除
build(或 nbbuild)和 dist(或 nbdist)文件夹的内容,并重新生成所有的项目输出。使用 NetBeans 生成脚本。在 Eclipse 中的清理命令使用类似的方法。
- 清理。 删除
nbbuild 和 nbdist 文件夹的内容。
- 生成。 重新生成项目的输出。如果启用了“保存时编译”功能,则“生成”命令将被禁用。请参见“创建、导入和配置 Java 项目”指南的保存时编译部分。
有关生成和运行应用程序以及定制生成流程的更多信息,请参见创建、导入和配置 Java 项目。
NetBeans 项目文件
导入项目之后,您将在您的系统中找到以下文件夹和文件:
build.xml 文件或 nb-build.xml 文件。项目的主 NetBeans 生成脚本。您可以根据项目的需要来定制脚本。缺省情况下,该文件的名称为 build.xml。如果项目文件夹中已经存在这样的文件,则该脚本的名称为 nb-build.xml。
nbproject 文件夹。包含大多数 NetBeans 项目元数据,包括由主 NetBeans 生成脚本调用的资源。如果您将此文件夹和 build.xml 文件或 nb-build.xml 签入到您的版本控制系统中,则其他用户将能够在 NetBeans 中打开项目。该文件夹还包含一个 private 文件夹,其中包含特定于您的系统的数据。不应将该文件夹签入到版本控制系统中,因为它的内容会因用户而异。请参见下面的版本控制注意事项。
nbbuild 文件夹。在 NetBeans 中生成或运行项目时,项目的源代码将被编译到此文件夹中。
nbdist 文件夹。在 NetBeans 中生成项目时,项目的可分发输出将被创建并保存在此文件夹中。其输出可以是 JAR 文件和 WAR 文件。
版本控制注意事项
如果从版本控制系统中签出项目,则不应将 build(或nbbuild)、dist(或 nbdist)和 nbproject/private 文件夹签入到该版本控制系统中。
如果项目位于 CVS、Subversion 或 Mercurial 版本控制系统中,则恰当的“忽略”文件将在导入项目时被创建或更新。
尽管 nbproject/private 应被忽略,但应将 nbproject 签入版本控制系统。nbproject 中包含的元数据支持其他用户在 NetBeans 中打开项目,而不需要首先导入项目。
重新同步项目
导入程序具备重新同步功能。如果 Eclipse 中的类路径在您最初导入它时已经变更,那么您可以使用“重新同步 Eclipse 项目”功能更新相应 NetBeans 项目的类路径。
项目重新同步是从 Eclipse 项目到 NetBeans 项目的单向操作。如果您对 NetBeans 中的项目结构进行更改,则这些更改将不会通过重新同步功能传播到 Eclipse 项目。如果您打算同时保存 Eclipse 和 NetBeans 项目,可以使用 Eclipse 项目作为“主”项目。
如果对 Eclipse 配置的更改非常明确且不需要您的输入,则 IDE 还将自动重新同步项目。这种自动重新同步操作发生在您打开项目之后。如果重新同步需要您的输出,那么您需要手动重新同步项目。
手动重新同步 NetBeans 项目与 Eclipse 项目:
- 选择“文件”> “导入项目”>“重新同步 Eclipse 项目”。
注意:当您重新同步项目时,将对从工作区中导入的所有项目执行重新同步。
解决导入问题
将项目导入 NetBeans 中时,有些问题可能是 NetBeans IDE 无法自动解决的。针对其中一些问题,项目的上下文菜单中有对应的菜单项,比如“解决缺少服务器问题”。其他问题可以在 NetBeans IDE 中已导入项目的“项目属性”对话框中解决。
下面是常见导入问题及其解决方案列表:
| 解决缺少服务器问题 |
右键单击项目节点并选择“解决缺少服务器问题”。然后,导航到包含服务器的文件或文件夹。 |
| 解决引用问题 |
右键单击项目节点并选择“解决引用问题”。然后,导航到包含项目所引用的资源的文件或文件夹。 |
| 无法使用项目 ProjectName 的 Eclipse 平台。它是 JRE,而 NetBeans 项目需要的是 JDK。NetBeans 将使用缺省平台。 |
如果要更改 NetBeans 为项目使用的平台,选择“工具”>“平台”并指定一个不同的平台。 |
| Eclipse 项目 ProjectName 要求使用 "{1}" 目录中的 JDK。但是此目录不存在。NetBeans 将使用缺省平台。 |
如果要更改 NetBeans 为项目使用的平台,选择“工具”>“平台”并指定一个不同的平台。 |
| 与 Eclipse 一样,NetBeans 不支持每个源根目录的源包括/排除。这些内容已合并在一起,建议您在“源”面板的项目属性中仔细检查这些内容。 |
在 NetBeans 中,整个项目的包括和排除都在一处声明。要查看 NetBeans 项目中的包括和排除,右键单击项目节点和“项目”窗口并选择“属性”。 在“项目属性”对话框中,选择“源”标签,然后单击“包括/排除”按钮。 |
| 导入由于 ... 而失败。有关更多的详细信息,请参见 IDE 的日志文件。 |
您可以通过选择“查看”>“IDE 日志”来打开 IDE 的日志文件。 |
| 未知项目类型 - 无法将其导入。 |
您只能导入以下类型的 Eclipse 项目:Java 项目、基于现有 Ant 文件的 Java 项目、静态 Web、动态 Web 和 JPA 项目。 |
另请参见