FeaturesPluginsDocs & SupportCommunityPartners

生成应用程序

下载 PDF

要下载“使用 NetBeans IDE 5.5”的 PDF 版本,请单击此处

此部分介绍了在 IDE 中生成标准项目和自由格式项目的基本知识,以及在生成项目时如何通过修改 IDE 所使用的 Ant 生成脚本来定制生成过程。

在此部分中,您将了解以下内容:

使用 Ant 生成脚本

Ant 生成脚本是包含目标的 XML 文件,而这些目标又包含任务。Ant 任务是可执行代码,用于处理源代码的处理指令。例如,您可以使用 javac 任务来编译代码,使用 java 任务来执行类等等。您可以使用 Ant 的内置任务、使用第三方编写的任务或者编写您自己的 Ant 任务。您无需了解 Ant 即可使用 IDE。如果要查找 Ant 的学习资源,请参见 http://ant.apache.org/resources.html

您可以按以下方式来使用 Ant 生成脚本生成项目:

  • 标准项目。在标准项目中,IDE 将根据您在“新建项目”向导和项目的“项目属性”对话框中输入的选项来生成您的生成脚本。您可以在项目的“项目属性”对话框中设置所有基本的编译和运行时选项,IDE 会自动更新项目的 Ant 脚本。如果您知道如何使用 Ant,则可以定制标准项目的 Ant 脚本,或者为项目编写您自己的 Ant 脚本。
  • 自由格式项目。在自由格式项目中,IDE 依赖现有的 Ant 脚本为 IDE 操作(如生成、运行和调试)提供目标。

生成项目、包和文件

在 IDE 中编译是很简单的。在确保已正确设置项目的编译类路径后,只需选择要编译的项目、包或文件,然后选择相应的“生成”或“编译”命令即可。接下来,IDE 将编译这些文件。

要在 IDE 中编译项目、包或文件,请在“项目”窗口中选择它,然后执行以下某个操作:

  • 在主菜单中,选择“生成”>“生成主项目”(F11) 以生成主项目。或者,您也可以单击工具栏中的“生成”按钮。
  • 在主菜单中,选择“生成”>“清理并生成主项目”(Shift-F11) 以清理并生成主项目。或者,您也可以单击工具栏中的“清理并生成”按钮。
  • 在“项目”窗口中,右键单击项目节点,然后选择“生成项目”以生成项目。
  • 在“项目”窗口中,右键单击项目,然后选择“清理项目”以清理项目。
  • 在“项目”窗口中,右键单击包,然后选择“编译包”(F9) 以编译包。
  • 在“项目”窗口中,右键单击文件,然后选择“编译文件”(F9) 以编译文件。或者,选择“生成”>“编译文件”(F9)。请注意,如果使用的是自由格式项目,则缺省情况下将禁用此命令。您必须编写用于在 IDE 中编译当前选定文件的 Ant 目标,并将其映射到“编译文件”命令。

每当调用编译命令时,IDE 都会在“输出”窗口中显示输出(包括遇到的任何编译错误),如下一部分所述。

如果在“文件”窗口中展开标准项目的项目目录节点,则您将注意到,IDE 会将类编译到 build 文件夹。此外,IDE 还会自动从项目源代码生成 Java 项目的 JAR 文件。JAR 文件将在项目文件夹的 dist 目录中生成。在自由格式项目中,Ant 脚本控制输出文件的创建。

修复编译错误

IDE 将在“输出”窗口中显示输出消息和任何编译错误。在生成编译错误、调试程序、生成 Javadoc 文档等情况下,将自动显示此多标签窗口。也可以通过选择“窗口”>“输出”(Ctrl-4) 来手动打开此窗口。

“输出”窗口的一个重要功能是通知您在编译程序时发现的错误。错误消息显示为带下划线的蓝色文本,并链接到产生错误的源代码行上,如下图所示。“输出”窗口还提供了若干链接,它们指向在运行 Ant 生成脚本时发现的错误。每当单击“输出”窗口中的错误链接时,源代码编辑器都会自动跳到包含该错误的行上。您也可以使用 F12 和 Shift-F12 快捷键,移到文件中的下一个和上一个错误。

屏幕快照:显示编译错误的“输出”窗口

显示编译错误的“输出”窗口

Ant 脚本运行的每个操作(如编译、运行和调试文件)都将其输出发送到相同的“输出”窗口标签。如果您需要保存“输出”窗口中显示的消息,则可以将其复制并粘贴到一个单独的文件中。您还可以通过选择“工具”>“选项”,单击“杂项”类别中的 "Ant" 节点,然后取消选中“重新使用完成进程中的输出标签”属性的复选框,将 Ant 设置为将每个新目标的命令输出发送到新的“输出”窗口标签。

过滤输出文件

在创建 JAR 文件或 WAR 文件时,通常只需包含编译的 .class 文件以及位于源目录中的任何其他资源文件,如资源包或 XML 文档。缺省过滤器通过排除输出文件中的所有 .java.nbattrs.form 文件来执行此操作。

您可以使用正则表达式创建其他过滤器来控制输出文件。要指定将排除的文件,请右键单击“项目”窗口中的项目并选择“属性”,以打开“项目属性”对话框。在左窗格中,单击“打包”。在右窗格中,在文本框中输入正则表达式以指定打包 JAR 或 WAR 文件时要排除的文件。除了缺省表达式之外,下面还列出了一些您可以使用的其他正则表达式:

正则表达式

描述

\.html$

排除所有 HTML 文件

\.java$

排除所有 Java 文件

(\.html$)|(\.java$)

排除所有 HTML 和 Java 文件

(Key)|(\.gif$)

排除所有 GIF 文件和任何名称中包含 Key 的文件

有关正则表达式语法的指南,请参见 jakarta.apache.org

定制生成过程

通过定制 Ant 脚本,您可以定制生成项目的方式。例如,您可以编写一个用于编译当前选定文件的 Ant 目标,然后将该目标映射到 IDE 的“运行文件”命令。

标准项目中,Ant 脚本存储在项目文件夹中。标准项目的主 Ant 脚本是 build.xml。只要运行 IDE 命令,IDE 就会调用 build.xml 中的目标。此文件包含一个 import 语句,该语句从 build-impl.xml 导入目标。在 build.xml 中,可以覆盖任何来自 build-impl.xml 的目标或编写新的目标。

自由格式项目中,IDE 使用现有 Ant 脚本中的目标生成、运行、清理、测试和调试应用程序。如果 Ant 脚本不包含其中某些功能的目标,则无法使用这些功能。要实现这些功能,您可以在 Ant 脚本或辅助 Ant 脚本中编写目标。然后,您可以将 IDE 中的命令映射到这些目标。

 

标准项目中的生成文件

在标准项目中,build-impl.xml 是包含用于生成、运行和调试项目的所有指令的 Ant 脚本。切勿编辑此文件。但是,您可以打开它来检查可以被覆盖的 Ant 目标,然后修改 build.xml 以覆盖任何目标或编写新目标。

使用标准项目时,可以通过执行下列任一操作来定制生成过程:

  • 创建项目时在“新建项目”向导中输入基本选项(如类路径设置和 JAR 过滤器),或者以后在“项目属性”对话框中输入。
  • 编辑 nbproject/project.properties 中的属性。此文件存储 Ant 属性,并包含有关项目的重要信息(如源文件夹和输出文件夹的位置)。您可以覆盖此文件中的属性。请谨慎编辑此文件。例如,每次清理项目时,都会删除输出文件夹。因此,如果未事先将清理目标配置为不删除输出文件夹,则切勿将输出文件夹的位置设置为与源文件夹相同。
  • 通过执行下列任一操作定制现有 Ant 目标或创建新的 Ant 目标:
  • 添加要在运行 Ant 目标之前或之后处理的指令。build-impl.xml 中的每个主目标还包含一个 -pre-post 目标,可以在 build.xml 中覆盖这些目标。例如,要使 RMI 使用常规项目,请在 build.xml 中键入以下内容:
<target name="-post-compile">
  <rmic base="${build.classes.dir}" includes="**/Remote*.class"/>
</target>
  • 更改 Ant 目标中的指令。将 build-impl.xml 中的目标复制到 build.xml,然后对目标进行任意更改。
  • build.xml 中创建新目标。您也可以将新目标添加到 IDE 的任何现有目标的依赖关系中。覆盖 build.xml 中的现有目标,然后将新目标添加到现有目标的 depends 属性中。例如,以下代码将 new-target 目标添加到 run 目标的依赖关系中:
<target name="new-target">
    <!-- target body... -->
</new-target>
 
<target name="run" depends="new-target,myprojname-impl.run"/>

请注意,无需将 run 目标的主体复制到 build.xml

下表列出了用于重新定义 JAR 文件的一些常见任务(它们可能会对您有所帮助):

要执行此任务

请执行以下步骤

指定要添加到 JAR 文件中的文件。

在“项目”窗口中右键单击项目节点,然后选择“属性”。单击“打包”子节点(在“生成”下方),并使用“不包含在 JAR 文件中”字段配置过滤器和压缩设置。有关详细信息,请参见过滤输出文件

更改 JAR 文件的名称和位置。

在“文件”窗口中,转到项目文件夹中的 nbproject 文件夹,然后在源代码编辑器中打开 project.properties。在 dist.jar 属性中输入 JAR 文件的完整路径。

指定 JAR 文件的清单文件。

project.properties 中,在 manifest.file 属性中键入清单文件的名称。指定的文件名必须相对于项目的 build.xml 文件。请注意,如果您使用的是 Java 应用程序模板,则 IDE 将会为您创建一个清单文件。

禁止为项目生成 JAR 文件。

在“文件”窗口中,打开项目文件夹,然后打开 build.xml。覆盖 jar 目标,以使其不包含任何内容和依赖关系。例如,将以下内容添加到 build.xml 中:

<target name="jar" />

自由格式项目中的生成文件

在自由格式项目中,IDE 使用现有 Ant 脚本中的目标生成、运行、清理、测试和调试应用程序。如果 Ant 脚本不包含其中某些功能的目标,则无法使用这些功能。要实现这些功能,您可以在 Ant 脚本或辅助 Ant 脚本中编写目标。然后,您可以将 IDE 中的命令映射到这些目标。

如果您希望运行 IDE 命令,但不具有该命令的目标,则 IDE 可以为您生成该目标。IDE 生成目标时,将在单独的生成脚本中生成目标,并自动将其映射到命令。

有关在自由格式项目中编写 Ant 目标的示例,请参见以下文章:

编写定制 Ant 任务

您可以使用定制 Ant 任务扩展由 Ant 的内置任务提供的功能。定制任务常用于定义属性、创建嵌套元素,或使用 addText 方法直接编写标记之间的文本。

要在 IDE 中创建定制 Ant 任务,请按 Ctrl-N 组合键,然后从“Ant 生成脚本”文件夹中选择“定制任务”模板。当您创建定制 Ant 任务文件时,将在源代码编辑器中打开模板。该模板包含 Ant 任务执行的许多常见操作的样例代码。在每个代码段之后,该模板还说明了如何在 Ant 脚本中使用任务。

将定制 Ant 目标映射到项目命令

在自由格式项目中,将 IDE 命令映射到 Ant 脚本中的目标。例如,通过执行此操作,您可以将“调试项目”目标的项添加到项目的上下文菜单中。

在“项目属性”对话框的左面板中单击生成和运行。

屏幕快照:在项目属性对话框中指定运行目标

“项目属性”对话框中的运行目标

对于每个命令,从下拉列表中选择一个 Ant 目标。下拉列表包含 Ant 脚本中的每个目标。但是,如果 Ant 脚本使用 <import> 语句从其他 Ant 脚本导入目标,则“项目属性”对话框的下拉列表中将不显示这些目标。要将命令映射到这些目标,请在列表中键入这些目标的名称。

通过手动编辑 project.xml 文件,您可以映射其他命令,如为单个文件运行的命令。有关详细信息,请参见自由格式项目的高级配置




上一部分 - 目录 - 下一部分

Bookmark this page

del.icio.us furl simpy slashdot technorati digg
Companion
Projects:
MySQL Database Server   Open JDK: an Open SourceJDK   GlassFish Community: an Open Source Application Server    Mobile & Embedded Community    Open Solaris   java.net - The Source for Java Technology Collaboration   Virtual Box - full virtualizer  Open ESB - The Open Enterprise Service Bus Powered by