在 NetBeans IDE 中使用问题跟踪
在 NetBeans IDE 中,您可以使用问题跟踪器并执行常见任务,如搜索和更新问题以及报告新问题。如果项目受版本控制,则可以在提交过程中更新问题。在本教程中,将使用 IDE 打开版本控制资源库中的样例项目。在打开项目后,您将了解如何查看项目问题,报告新问题,应用与问题相关的修补程序文件以及在提交更改时解决问题。本教程还将介绍如何在 IDE 中注册和使用外部问题跟踪器。
观看“在 NetBeans IDE 中使用集成问题跟踪”视频。
目录
要学习本教程,您需要具备以下软件和资源。
注意:本教程需要使用 Subversion 版本控制系统。有关在 IDE 中使用 Subversion 的更多详细信息,请参见 Subversion 指导教程中有关设置 Subversion 的部分。
打开样例项目
出于演示之目的,本教程使用 Anagram Game 样例项目,说明如何在 IDE 中使用问题跟踪器。Anagram Game 样例项目的源代码作为 Subversion 资源库中的 NetBeans 项目存在,并且该项目具有 Bugzilla 问题跟踪器。本教程中说明的任务可以与任何支持的问题跟踪器(Bugzilla、JIRA)和版本控制系统(Subversion、Mercurial)一起使用。
如果您知道项目资源库的位置,则可以使用 "Checkout"(签出)向导直接从资源库中签出源代码。执行以下步骤以直接使用 "Checkout"(签出)向导签出项目源代码。
- 选择 "Team"(团队开发)> "Subversion" > "Checkout"(签出)以打开 "Checkout"(签出)向导。
- 键入 https://svn.kenai.com/svn/anagram-game~subversion 作为资源库 URL。单击 "Next"(下一步)。
- 在该向导中,单击 "Browse"(浏览)以指定资源库文件夹,然后选择 "AnagramGame"。单击 "OK"(确定)。
- 指定本地资源库中的本地文件夹的位置。
- 单击 "Finish"(完成)。
单击 "Finish"(完成)后,IDE 会将本地文件夹初始化为 Subversion 资源库,并签出项目源代码。
- 在完成签出操作后将会显示一个对话框,在该对话框中单击 "Open Project"(打开项目)。
在单击 "Open Project"(打开项目)后,该项目将作为 NetBeans 项目在 "Projects"(项目)窗口中打开。
注意:本教程说明了如何使用栈跟踪以及应用与问题相关的修补程序。要执行这些任务,您需要签出项目源代码。
注册问题跟踪器
在 IDE 中,您可以注册任意数量的受支持问题跟踪器。在注册跟踪器后,跟踪器名称将添加到问题表单和 "Commit"(提交)对话框的 "Issue Tracker"(问题跟踪器)下拉列表中,这样您就可以从 IDE 中查看、更新和创建问题了。您可以在 IDE 的 "Services"(服务)窗口中注册现有的 Bugzilla 或 JIRA 问题跟踪器。
注意:要使用 JIRA 问题跟踪器,您必须从更新中心下载 JIRA 支持插件。有关更多信息,请参见 NetBeans 常见问题解答如何获取和安装 NetBeans JIRA 插件?
执行以下步骤以注册 Anagram Game 项目的问题跟踪器。
- 在 "Services"(服务)窗口中右键单击 "Issue Trackers"(问题跟踪器)节点,然后选择 "Create Issue Tracker"(创建问题跟踪器)。
- 选择问题跟踪器的连接器。
(Anagram Game 使用 Bugzilla 跟踪器。)
- 键入 AnagramGame 作为问题跟踪器。
该名称用于标识 IDE 窗口和对话框中的问题跟踪器。
- 指定问题跟踪器的 URL。
(Anagram Game 问题跟踪器的 URL 为 http://kenai.com/bugzilla/)
- 单击 "Validate"(验证)以测试到问题跟踪器的连接。单击 "OK"(确定)。
在单击 "OK"(确定)时,IDE 将在 "Services"(服务)窗口中的 "Issue Trackers"(问题跟踪器)节点下为新问题跟踪器添加一个节点。
在添加问题跟踪器后,您可以右键单击该跟踪器的节点以执行以下任务。
- 查找现有问题
- 报告新问题
- 编辑问题跟踪器的详细信息
- 从列表中删除问题跟踪器
也可以从 "Team"(团队开发)菜单中选择任务以查找和报告问题。
查找和查看问题
在本部分中,将使用 IDE 中的 "Find Issues"(查找问题)窗口,检索未解决的 Anagram Game 项目问题的列表。与 Anagram Game 项目关联的问题跟踪器包含一些问题示例。可通过从 "Team"(团队开发)菜单中选择任务来打开 "Find Issues"(查找问题)窗口。
搜索问题和保存搜索查询
在本练习中,将使用 "Find Issues"(查找问题)表单搜索所有新的 P1 问题。
- 从主菜单中选择 "Team"(团队开发)> "Find Issues"(查找问题),以打开 "Find Issues"(查找问题)窗口。
此外,也可以在 "Services"(服务)窗口中右键单击问题跟踪器节点,然后选择 "Find Issues"(查找问题)。
- 从 "Issue Tracker"(问题跟踪器)下拉列表中选择 "Anagram Game"。
- 从 "Product"(产品)列表中选择 "anagram-game"。
- 指定其他搜索条件,方法是:选择 "NEW" 作为状态,然后选择 "P1" 作为优先级。单击 "Search"(搜索)。
在单击 "Search"(搜索)时,IDE 将搜索所有符合条件的问题,并在表单底部显示结果列表。
- 在 "Find Issues"(查找问题)标签的底部,单击 "Save This Query"(保存此查询)。
- 在 "Save Query"(保存查询)对话框中,键入 "New P1 issues" 作为查询名称。单击 "Save"(保存)。
在单击 "Save"(保存)时,IDE 将打开 "Query"(查询)标签以显示查询结果。
在保存查询后,可随时从 "Find Issues"(查找问题)标签中单击 "My Queries"(我的查询)旁边显示的名称,以再次运行该查询。您可以在列表中双击某个问题,以在新标签中打开该问题。
在 "Query"(查询)标签中,可以执行以下操作以修改问题列表。
- 单击一个列标题以按该顺序列出问题
- 使用 "Filter"(过滤器)下拉列表过滤显示的结果
- 单击 "Refresh"(刷新)以检索最新问题列表
在 "Query"(查询)标签中,单击 "Modify Query"(修改查询),以修改保存的查询的搜索条件。
查看和更新问题
在本练习中,您将查看并修改 Anagram Game 项目的某个问题的详细信息。
可以在 IDE 的搜索结果列表中双击某个问题以查看和更新该问题。您无需成为项目成员或登录即可查看问题,但如果要更新问题以解决该问题、添加注释和更改优先级等,则必须在项目的问题跟踪器中注册并进行登录。
当您以成员身份加入 Kenai 项目时,将自动在项目的问题跟踪器中进行注册,您可以修改问题和提交新问题。
- 打开项目问题列表。
- 双击问题 #257 Typo in StaticWordLibrary,在主窗口中查看问题详细信息。
- 对问题详细信息进行任何更改并添加注释。单击 "Submit Changes"(提交更改)。
在单击 "Submit Changes"(提交更改)时,IDE 将连接到问题跟踪器以更新问题详细信息。将向更改问题的人、受托人以及在问题中要抄送的任何其他地址发送电子邮件。
注意:在本教程中,您无法提交对该问题的更改,因为您不是 Anagram Game 项目成员。
报告新问题
本节说明了如何在 IDE 中提交 Anagram Game 项目的新问题。
可以使用 IDE 中的 "Report a New Issue"(报告新问题)表单,将新问题提交到注册的问题跟踪器。可通过以下方式打开该表单:从主菜单中选择 "Team"(团队开发)> "Report Issue"(报告问题),然后从表单的下拉列表中选择问题跟踪器。
注意:要报告问题,您必须在问题跟踪器中注册并进行登录。如果未登录,则会在提交问题时提示您登录。
要报告项目 Anagram Game 的新问题,请执行以下步骤。
- 从主菜单中选择 "Team"(团队开发)> "Report Issue"(报告问题),以打开 "Report a New Issue"(报告新问题)窗口。
- 从 "Issue Tracker"(问题跟踪器)下拉列表中选择跟踪器。
- 从 "Product"(产品)下拉列表中选择项目。
- 指定问题详细信息、摘要和说明。单击 "Submit Issue"(提交问题)。
在单击 "Submit Issue"(提交问题)时,IDE 将向跟踪器提交问题。
注意:在此示例中,您无法提交问题,因为您不是项目成员。
使用栈跟踪
如果问题说明包含的栈跟踪引用项目的源代码,则可以直接从问题导航到本地源代码中的行。复制到问题的栈跟踪的使用方式与输出窗口中的栈跟踪相同。
注意:要从栈跟踪导航到源代码中的行,必须签出项目的源代码并在 IDE 中打开项目。
- 打开问题 1446 "Cannot start AnagramGame due to NullPointerException"。
Anagram Game 项目的问题 1446 指出,运行应用程序时抛出 NullPointerException。
- 在问题说明中,单击栈跟踪中的以下行。
com.toy.anagrams.ui.Anagrams$2.windowOpened(Anagrams.java:72)
问题说明包含从输出窗口中复制的栈跟踪的副本。
在单击栈跟踪中的行时,IDE 将在编辑器中打开本地文件,并将插入光标放在源代码中的指定行。
注意:IDE 可以打开本地文件,因为您在本教程的前面签出了源代码。
可以启动 Anagram Game 应用程序,然后在输出窗口中查看输出以重新显示异常。在输出窗口中,将会看到类似于以下内容的输出。
打开和应用修补程序文件
在本节中,将查看附带的修补程序文件,然后应用修补程序。
问题 1446 报告在运行 Anagram Game 应用程序时发生 NullPointerException。与问题相关的修补程序文件包含 NullPointerException 的修复程序。如果修补程序文件与问题相关,则可以直接从问题窗口中打开和应用修补程序。
- 打开问题 1446 "Cannot start AnagramGame due to NullPointerException"。
- 单击与问题相关的修补程序文件名称。
在单击文件名称时,IDE 将在编辑器中打开该文件。可以看到修补程序对 StaticWordLibrary.java 进行了以下更改。
- static WordLibrary DEFAULT;
+ final static WordLibrary DEFAULT = new StaticWordLibrary();
关闭修补程序文件。
- 在问题窗口中,单击相关修补程序文件名称旁边的 "Apply"(应用),以打开 "Apply Patch"(应用修补程序)对话框。
- 在 "Apply Patch"(应用修补程序)对话框中展开 Anagram Game 项目,然后选择 "Source Packages"(源包)目录。单击 "Apply"(应用)。
注意:在应用修补程序时,您需要根据创建修补程序时所在的根目录位置选择目录或文件。对于此示例,在应用修补程序时,您需要将 "Source Packages"(源包)目录指定为根目录位置。
在单击 "Apply"(应用)时,IDE 将应用修补程序并修改 StaticWordLibrary.java。可以在编辑器中打开该文件以查看更改。如果查看 "Pojects"(项目)窗口,则可以看到 IDE 将该文件标记为已修改。
与版本控制集成
在本节中,将在提交 Anagram Game 项目源代码更改过程中更新问题。
IDE 集成了源代码版本控制支持(使用 Subversion 或 Mercurial)和支持的问题跟踪器。借助于该集成支持,您可以在提交过程中更新注册的问题跟踪器中的问题。
Kenai 可提供专用版本控制资源库,作为托管项目可用的一项服务。在打开 Kenai 项目 Anagram Game 并签出项目源代码后,IDE 自动将项目与项目的问题跟踪器相关联。
有关在 NetBeans IDE 中使用 Subversion 的详细信息,请参见 Subversion 指导教程。
有关 Kenai 对版本控制系统的支持的详细信息,请参见 Source Code Management(源代码管理)中的 Kenai 文档。
本练习说明了如何在提交过程中更新问题。
- 在 "Projects"(项目)窗口中,展开 "Source Packages"(源包)节点下的 com.toy.anagrams.lib 包。
Anagram Game 已包含在版本控制资源库中。需要提交到资源库的已修改源文件名称为蓝色。目录上的标记指示目录中包含需要提交的文件。
- 右键单击 StaticWordLibrary.java 文件,然后选择 "Subversion" > "Commit"(提交)以打开 "Commit"(提交)对话框。
- 输入描述提交的提交消息。
- 在 "Commit"(提交)对话框中展开 "Update Issue"(更新问题)面板。
- 从下拉列表中选择 Anagram Game 项目的问题跟踪器(如果未选定)。
- 在 "Issue"(问题)字段中键入 1446。
要提交的 StaticWordLibrary.java 更改将修复问题 1446 中报告的异常。
可以在 "Issue"(问题)字段中键入问题 ID (1446) 或问题说明中包含的某些文本 (NullPointerException)。IDE 将显示与该文本匹配的问题列表。
- 选中 "Resolve as FIXED"(解析为 FIXED)复选框。
如果选中 "Resolve as FIXED"(解析为 FIXED),则会将问题状态更改为"Resolved"(已解析)。
- (可选)选择 "Add details to commit message and issue"(向提交消息和问题添加详细信息),以添加其他详细信息。您可以单击 "Modify"(修改)打开一个对话框,在其中修改设置其他详细信息格式的方式。
- 单击 "Commit"(提交)。
在单击 "Commit"(提交)时,IDE 将向资源库提交更改并更新问题。如果未登录,将提示您提供用户名和口令。
注意:在此示例中,您无法提交更改,因为您不是项目成员。
本教程介绍了如何通过 IDE 使用问题跟踪器。借助于集成的 Bugzilla 和 JIRA 问题跟踪器支持,您可以从 IDE 中查看、更新和报告问题。对于在团队开发服务器上托管并与团队开发服务器上托管的问题跟踪器相关联的项目,您可以从 "Team"(团队开发)控制板中处理项目问题。
对于其他项目,您可以在 IDE 中注册 Bugzilla 或 JIRA 问题跟踪器,然后使用 "Team"(团队开发)菜单项查看和报告问题。
另请参见
有关在协作环境中使用 NetBeans IDE 的其他信息,请参见以下教程。