要下载“使用 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 文件,您可以映射其他命令,如为单个文件运行的命令。有关详细信息,请参见自由格式项目的高级配置。