創建、導入和配置 Java 項目

創建、導入和配置 Java 項目

本指南將簡要介紹 NetBeans IDE 中的一些用於設置和配置 Java 項目的主要功能。此外,還將提供有關如何對 IDE 生成的生成腳本進行定製配置的信息。

目錄

本頁上的內容適用於 NetBeans IDE 7.0 及更高版本

要學完本教程,您需要具備以下軟件和資源。

軟件或資源 要求的版本
NetBeans IDE 版本 7.1
Java Development Kit (JDK) 版本 6 或更高版本

項目基本概念

此部分將簡要介紹一些有關 IDE 項目系統的背景信息。

項目

在 IDE 中,您始終在項目內工作。除了源文件以外,IDE 項目還包含 meta 數據,這些數據說明類路徑上所包含的內容以及如何生成和運行項目等。IDE 將項目信息存儲在一個項目文件夾中,該文件夾包括一個 Ant 生成腳本和一個屬性文件(它們用於控制生成和運行設置),還包括一個 project.xml 文件(該文件用於將 Ant 目標映射到 IDE 命令)。

注意:雖然缺省情況下 IDE 將源目錄放置在項目文件夾內,但是源目錄並非必須位於項目文件夾中。

Ant

Apache Ant 是基於 Java 的生成工具,用於使開發的生成環境和運行環境標準化和自動化。IDE 的項目系統直接基於 Ant。所有項目命令(如 "Clean and Build Project"(清理並生成項目)和 ""Clean and Build Project"(清理並生成項目)"(調試))均調用項目 Ant 腳本中的目標。因此,您可以在 IDE 外部生成和運行項目,這與在 IDE 內部生成和運行項目完全相同。

無需瞭解 Ant 即可使用 IDE。您可以在項目的 "Project Properties"(項目屬性)對話框中設置所有基本的編譯和運行時選項,IDE 會自動更新項目的 Ant 腳本。如果您熟悉 Ant,則可以定製標準項目的 Ant 腳本,或者爲項目編寫您自己的 Ant 腳本。

創建項目

創建新項目:

  • 選擇 "File"(文件)> "New Project"(新建項目)(在 Windows 上爲 Ctrl-Shift-N 組合鍵/在 Mac OS X 上爲 Cmd-Shift-N 組合鍵)。

在出現 "New Project"(新建項目)嚮導時,爲項目選擇合適的模板並完成嚮導中的其餘步驟。項目模板圖標可能以灰色顯示,這表示尚未激活此項目類型。繼續創建項目,將在 IDE 中激活該功能。

IDE 包含以下用於創建 Java 和 Java Web 應用程序的標準項目模板:

  • Java Application(Java 應用程序)。創建帶有主類的框架 Java SE 項目。有關使用此模板的簡明教程,請參見開發和部署常規 Java 應用程序
  • Java Class Library(Java 類庫)。創建不帶主類的框架 Java 類庫。有關使用此模板的簡明教程,請參見開發和部署常規 Java 應用程序
  • Java Project with Existing Sources(基於現有源代碼的 Java 項目)。基於您自己的 Java 源代碼創建 Java SE 項目。請參見下面的基於現有源代碼設置 Java 項目部分。
  • Web Application(Web 應用程序)。創建框架 Web 應用程序,其中包括用於添加各種 Web 框架的選項。有關使用此模板的示例,請參見 Web 應用程序開發簡介
  • Web Application with Existing Sources(基於現有源代碼的 Web 應用程序)。基於您自己的 Web 源代碼和 Java 源代碼創建 Web 項目。請參見下面的基於現有源代碼設置 Web 項目部分。

此外,IDE 還包含用於創建 EJB 模塊、企業應用程序和 Java ME 應用程序等的模板。

Java 和 Web 項目類別還具有自由格式項目模板。通過自由格式模板,可以將現有 Ant 腳本用於項目,但需要手動進行配置。請參見下面的自由格式項目

創建完項目後,該項目在 IDE 中打開,並在 "Projects"(項目)窗口中顯示其邏輯結構,同時在 "Files"(文件)窗口中顯示其文件結構:

  • "Projects"(項目)窗口是項目源的主入口點。它將顯示重要項目內容(如 Java 包和 Web 頁)的邏輯視圖。通過右鍵單擊任意項目節點,可以訪問一個包含各種命令的彈出式菜單,這些命令用於生成、運行和調試項目,以及打開 "Project Properties"(項目屬性)對話框。通過選擇 "Window"(窗口)> "Projects"(項目)(在 Windows 上爲 Ctrl-1 組合鍵/在 Mac OS X 上爲 Cmd-1 組合鍵),可以打開 "Projects"(項目)窗口。
  • "Files"(文件)窗口顯示了基於目錄的項目視圖,其中包括 "Projects"(項目)窗口中未顯示的文件和文件夾。在 "Files"(文件)窗口中,可以打開並編輯項目配置文件,如項目的生成腳本和屬性文件。此外,還可以查看生成輸出,如編譯的類、JAR 文件、WAR 文件和生成的 Javadoc 文檔。通過選擇 "Window"(窗口)> "Files"(文件)(在 Windows 上爲 Ctrl-2 組合鍵/在 Mac OS X 上爲 Cmd-2 組合鍵),可以打開 "Files"(文件)窗口。

"Files"(文件)和 "Projects"(項目)窗口

注意:如果需要訪問項目目錄之外的文件和目錄,則可以使用 "Favorites"(收藏夾)窗口。通過選擇 "Window"(窗口)> "Favorites"(收藏夾)(在 Windows 上爲 Ctrl-3 組合鍵/在 Mac OS X 上爲 Cmd-3 組合鍵),可以打開 "Favorites"(收藏夾)窗口。要將某個文件夾或文件添加到 "Favorites"(收藏夾)窗口,請在 "Favorites"(收藏夾)窗口中單擊鼠標右鍵,然後選擇 "Add to Favorites"(添加到收藏夾)。

導入項目

此部分將介紹最初在 IDE 中導入項目時所執行的操作。

導入 Eclipse 工作區

對於 Eclipse 項目,可以使用 "Import Eclipse Project"(導入 Eclipse 項目)嚮導幫助您基於 Eclipse 工作區中的項目創建 NetBeans 項目,並導入項目類路徑和其他設置。在使用 "Import Eclipse Project"(導入 Eclipse 項目)嚮導時,無需手動創建和配置 NetBeans 項目。通過選擇 "File"(文件)> "Import Project"(導入項目)> "Eclipse Project"(Eclipse 項目),可以打開該向導。有關該向導的工作原理以及如何同時處理 Eclipse 項目和 NetBeans 項目的信息,請參見將 Eclipse 項目導入 NetBeans IDE

基於現有源代碼設置 Java 項目

對於在 NetBeans 外部開發的其他 Java 項目,可以使用 "New Project"(新建項目)嚮導中的 "Existing Sources"(現有源代碼)模板創建 NetBeans 項目。在嚮導中,您可以標識源代碼的位置並指定 NetBeans 項目 meta 數據的位置。然後,可以使用 "Project Properties"(項目屬性)對話框配置項目

爲現有 Java 應用程序設置 NetBeans 項目:

  1. 選擇 "File"(文件)> "New Project"(新建項目)(在 Windows 上爲 Ctrl-Shift-N 組合鍵/在 Mac OS X 上爲 Cmd-Shift-N 組合鍵)。
  2. 選擇 "Java" > "Java Project with Existing Sources"(基於現有源代碼的 Java 項目)。單擊 "Next"(下一步)。
  3. 在嚮導的 "Name and Location"(名稱和位置)頁中,執行以下步驟:
    • 鍵入項目名稱。
    • (可選)更改項目文件夾的位置。
    • (可選)更改 IDE 使用的生成腳本的名稱。如果已存在用於生成源代碼的生成腳本 build.xml,則可能需要執行此操作。
    • (可選)選中 "Use Dedicated Folder for Storing Libraries"(使用專用文件夾存儲庫)複選框,並指定庫文件夾的位置。有關此選項的詳細信息,請參見共享項目庫
    • (可選)選中 "Set as Main Project"(設置爲主項目)複選框。如果選中此選項,則可以對該項目應用 "Clean and Build Main Project"(清理並生成主項目)(Shift-F11) 等命令的快捷鍵。
  4. 單擊 "Next"(下一步)以轉至該向導的 "Existing Sources"(現有源代碼)頁。
  5. 在 "Source Packages Folder"(源包文件夾)窗格中,單擊 "Add Folder"(添加文件夾)。然後,導航至源並選擇源根目錄,再單擊 "Open"(打開)。

    在添加包含源代碼的文件夾時,添加的文件夾必須包含包樹中的最高層文件夾。例如,對於 com.mycompany.myapp.ui 包,添加的文件夾應包含 com 文件夾。

  6. (可選)在 "Test Package Folders"(測試包文件夾)窗格中,單擊 "Add Folder"(添加文件夾)以選擇包含 JUnit 包文件夾的文件夾。
  7. 單擊 "Next"(下一步),前進至該向導的 "Includes & Excludes"(包括和排除)頁。
  8. (可選)在該向導的 "Includes & Excludes"(包括和排除)頁中,爲應包括在項目中或應從項目中排除的任何文件輸入文件名模式。缺省情況下,會包括源根目錄中的所有文件。
  9. 單擊 "Finish"(完成)。

基於現有源代碼設置 Web 項目

對於在 NetBeans 外部開發的 Web 項目,可以使用 "New Project"(新建項目)嚮導中的 "Existing Sources"(現有源代碼)模板創建 NetBeans 項目。在嚮導中,您可以標識源代碼的位置並指定 NetBeans 項目 meta 數據的位置。然後,可以使用 "Project Properties"(項目屬性)對話框配置項目

注意:如果項目最初是在 Eclipse 中開發的,則可以使用 "Import Eclipse Project"(導入 Eclipse 項目)嚮導而不是 "New Project"(新建項目)嚮導,這樣可以節省時間。使用 "Import Eclipse Project"(導入 Eclipse 項目)嚮導可以同時導入多個項目,包括這些項目的配置。請參見將 Eclipse 項目導入 NetBeans IDE

爲現有 Web 應用程序設置 NetBeans 項目:

  1. 選擇 "File"(文件)> "New Project"(新建項目)(在 Windows 上爲 Ctrl-Shift-N 組合鍵/在 Mac OS X 上爲 Cmd-Shift-N 組合鍵)。
  2. 選擇 "Java Web" > "Web Application with Existing Sources"(基於現有源代碼的 Web 應用程序)。單擊 "Next"(下一步)。
  3. 在嚮導的 "Name and Location"(名稱和位置)頁中,執行以下步驟:
    • 在 "Location"(位置)字段中,輸入包含 Web 應用程序的源根文件夾和 Web 頁文件夾的文件夾。
    • 鍵入項目名稱。
    • (可選)更改項目文件夾的位置。
  4. (可選)選中 "Use Dedicated Folder for Storing Libraries"(使用專用文件夾存儲庫)複選框,並指定庫文件夾的位置。有關此選項的詳細信息,請參見在 NetBeans IDE 中共享項目庫
  5. (可選)選中 "Set as Main Project"(設置爲主項目)複選框。如果選中此選項,則可以對該項目應用 "Clean and Build Main Project"(清理並生成主項目)(Shift-F11) 等命令的快捷鍵。
  6. 單擊 "Next"(下一步)以轉至該向導的 "Server and Settings"(服務器和設置)頁。
  7. (可選)將項目添加到現有企業應用程序。
  8. 選擇要部署到的服務器。如果未顯示所需的服務器,請單擊 "Add"(添加)以在 IDE 中註冊該服務器。
  9. 將源代碼級別設置爲運行應用程序時要使用的 Java 版本。
  10. (可選)調整上下文路徑。缺省情況下,上下文路徑基於項目名稱。
  11. 單擊 "Next"(下一步)以轉至該向導的 "Existing Sources and Libraries"(現有源代碼和庫)頁。
  12. 驗證該頁上的所有字段,如 "Web Pages Folder"(Web 頁文件夾)和 "Source Package Folders"(源包文件夾)的值。
  13. 單擊 "Finish"(完成)。

自由格式項目

對於自由格式項目,也提供了項目模板。在自由格式項目中,IDE 使用現有 Ant 腳本中的目標生成、運行、清理、測試和調試應用程序。如果 Ant 腳本不包含用於實現其中某些功能的目標,則將無法對該項目使用這些功能。要實現這些功能,您需要在 Ant 腳本或輔助 Ant 腳本中編寫目標。

通常情況下,最好使用標準的“基於現有源代碼”項目模板導入項目。對於 Eclipse 項目,最好使用“導入項目”功能,通過該功能可以創建和配置標準項目。標準項目便於長期維護。但是,如果您具有一個基於 Ant 的現有項目,且該項目包含無法在標準項目中複製的複雜或特殊配置,則自由格式項目模板會非常有用。例如,如果要導入一個包含多個源根目錄的項目,且每個源根目錄都具有不同的類路徑,同時您無法將這些源根目錄拆分爲不同的項目,則可能需要使用自由格式項目模板。

本指南重點介紹標準項目。有關設置自由格式項目的詳細信息,請參見自由格式項目的高級配置

配置類路徑和其他項目設置

此部分將介紹在設置項目時需要執行的一些最常見任務,如設置項目的目標 JDK、設置類路徑、創建項目之間的依賴關係以及在項目之間和用戶之間共享庫。

設置主項目

在開發由很多源文件夾組成的大型應用程序時,經常會將代碼拆分爲若干個單獨的項目。通常,其中的一個項目會作爲應用程序的入口點。爲了讓 IDE 知道哪個項目是應用程序的主入口點,可以將一個項目設置爲主項目。IDE 提供了專門用於主項目的命令。例如,運行 "Clean and Build Main Project"(清理並生成主項目)命令可以生成主項目及其所有必需項目。

將項目設置爲主項目:

  • 在 "Projects"(項目)窗口中右鍵單擊項目節點,然後選擇 "Set as Main Project"(設置爲主項目)。

一次只能有一個項目是主項目。

設置項目中的目標 JDK

在 IDE 中,可以註冊多個 Java 平臺,並將 Javadoc 和源代碼連接到每個平臺上。切換標準項目的目標 JDK 將執行以下操作:

  • 提供新目標 JDK 的類,以用於代碼完成。
  • 顯示目標 JDK 的源代碼和 Javadoc 文檔(如果可用)。
  • 使用目標 JDK 的可執行文件(javacjava)編譯和執行應用程序。
  • 針對目標 JDK 的庫來編譯源代碼。

缺省情況下,IDE 將其運行時所使用的 Java SE 平臺 (JDK) 版本作爲 IDE 項目的缺省 Java 平臺。通過選擇 "Help"(幫助)> "About"(關於),可以查看 IDE 的 JDK 版本。JDK 版本在 "Java" 字段中列出。

使用不同的 JDK 版本運行 IDE:

  • 從命令行中使用以下開關啓動 IDE。
    --jdkhome jdk-home-dir

    或者,在 /etc/netbeans.conf 文件中設置 JDK,該文件位於 IDE 的安裝文件夾中。

註冊新的 Java 平臺:

  1. 從主菜單中選擇 "Tools"(工具)> "Java Platforms"(Java 平臺)。
  2. 指定包含 Java 平臺的文件夾以及調試所需的源代碼和 Javadoc。

Java 平臺管理器

切換標準項目的目標 JDK:

  1. 右鍵單擊項目節點,選擇 "Properties"(屬性)。
  2. 選擇 "Libraries"(庫)面板。
  3. 更改 "Java Platform"(Java 平臺)屬性。

管理項目的類路徑

通過將一組類文件添加到項目的類路徑中,可以通知 IDE 在編譯和執行期間項目應該能夠訪問哪些類。IDE 還使用類路徑設置來啓用代碼完成、自動突出顯示編譯錯誤以及重構。您可以在 "Project Properties"(項目屬性)對話框中編輯現有項目的類路徑聲明。

在標準 Java 項目中,IDE 將爲編譯和運行項目以及編譯和運行 JUnit 測試(用於 Java SE 應用程序)保留單獨的類路徑。IDE 自動將項目編譯類路徑中的所有內容添加到項目的運行時類路徑中。

可以使用下列任一方法修改項目的類路徑:

  • 右鍵單擊項目的節點,選擇 "Properties"(屬性),選擇 "Libraries"(庫)類別,然後修改所列的類路徑條目。
  • 在 "Projects"(項目)窗口中右鍵單擊 "Libraries"(庫)節點,然後選擇 "Add Project"(添加項目)、"Add Library"(添加庫)或 "Add JAR/Folder"(添加 JAR/文件夾)。

如果已經在庫管理器中將 Javadoc 和源文件附加到某個 JAR 文件,則在項目的類路徑中註冊該 JAR 文件時,IDE 會自動將 Javadoc 和源文件添加到項目中。可以步入類並在 Javadoc 頁中查找類,而無需配置任何其他內容。

"Project Properties"(項目屬性)對話框

管理項目之間的依賴關係

如果應用程序由多個項目組成,則必須設置項目之間的類路徑依賴關係。通常,應設置一個包含項目主類(在 Java SE 項目中)的主項目和幾個必需項目。必需項目是指已添加到其他項目類路徑中的項目。在清理並生成項目時,IDE 還會清理並生成其必需項目。接收項目也可以使用必需項目的 Javadoc 和源代碼。

通過在 "Projects"(項目)窗口中右鍵單擊 "Libraries"(庫)節點,可以將任何必需項目添加到您的項目中;或者,也可以通過在 "Project Properties"(項目屬性)對話框的 "Libraries"(庫)標籤中指定它們來進行添加。在添加必需項目時,請選擇要將其 JAR 文件添加到類路徑的項目文件夾(文件選擇器將顯示 IDE 項目文件夾的圖標 項目文件夾圖標)。在 "Project Properties"(項目屬性)對話框中添加項目時,請確保選中了 "Build Projects on Classpath"(依據類路徑生成項目)複選框。

如果要將自由格式項目添加到標準項目的類路徑中,則必須將自由格式項目的 JAR 文件添加到標準項目的類路徑中。要執行此操作,必須先在自由格式項目的 "Project properties"(項目屬性)對話框的 "Output"(輸出)面板中聲明自由格式項目的所有輸出文件。

共享項目庫

由於 NetBeans IDE 項目系統基於 Ant,因此 NetBeans 項目通常可以在不同用戶之間移植,無論他們是否使用 IDE。但是,缺省情況下,項目生成腳本引用庫的方式依賴於每位用戶的特定因素,"Library Manager"(庫管理器)對話框中定義的庫尤其如此。

例如,通常可以將項目置於 zip 文件中,然後將其提供給其他用戶來解壓縮和運行。但是,如果項目依賴於 "Library Manager"(庫管理器)對話框中指定的定製庫,則其他庫最初在生成項目時可能會出現問題,因爲未解析對定製庫的引用。

另一個可能的不便之處是庫存儲在不同的位置,具體位置取決於其來源。IDE 附帶的庫儲存在 IDE 安裝目錄下的不同文件夾中。此類情形還包括 Swing Layout Extensions、Bean 綁定和數據庫驅動程序的庫。

要解決這些問題,可以指定一個專用文件夾來存儲項目庫。此外,在引用這些庫時,您可以控制使用相對路徑還是絕對路徑。

這種靈活性能夠使您更輕鬆地處理以下情況:

  • 您創建了一個項目,並且需要使其他用戶可以使用或構建它,無論他們是否使用 IDE。他們應該可以通過版本控制簽出或者解壓您提供的 ZIP 文件來訪問該項目。然後他們應該無需額外配置就可以構建應用程序。
  • 您必須從現有項目開始,並遵守關於項目庫儲存位置的嚴格約定(無論您的構建腳本使用相對引用還是絕對引用來訪問這些庫)。

您可以爲標準 Java SE、Web 和企業項目設置一個專用庫文件夾。可以在創建項目時(在 "New Project"(新建項目)嚮導中)設置庫文件夾,也可以在以後通過 "Project properties"(項目屬性)對話框的 "Libraries"(庫)標籤進行設置。

在創建項目後將常規 Java 項目的庫設置爲可共享的庫:

  1. 選擇 "File"(文件)> "New Project"(新建項目)。
  2. 在嚮導的 "Java" 類別中選擇一個標準模板。然後,單擊 "Next"(下一步)。
  3. 在嚮導的 "Name and Location"(名稱和位置)頁中,選擇 "Use Dedicated Folder for Storing Libraries"(使用專用文件夾存儲庫)複選框。
  4. 在 "Libraries Folder"(庫文件夾)字段中,選擇要存儲的庫的位置。

    如果庫已經包含在 IDE 中,則會將這些庫複製到您指定的文件夾中。

在創建項目時將 Web 或 Java EE 項目的庫設置爲可共享的庫:

  1. 選擇 "File"(文件)> "New Project"(新建項目)。
  2. 在嚮導的 "Web" 類別中選擇一個標準模板。然後,單擊 "Next"(下一步)。
  3. 在嚮導的 "Name and Location"(名稱和位置)頁中,選擇 "Use Dedicated Folder for Storing Libraries"(使用專用文件夾存儲庫)複選框。
  4. 在 "Libraries Folder"(庫文件夾)字段中,選擇要存儲的庫的位置。

    如果庫已經包含在 IDE 中,則會將這些庫複製到您指定的文件夾中。

將現有項目的庫設置爲可共享的庫:

  1. 右鍵單擊項目節點,選擇 "Properties"(屬性)。
  2. 在 "Project Properties"(項目屬性)對話框中,選擇 "Libraries"(庫)節點。
  3. 在 "Libraries"(庫)面板中,單擊 "Browse"(瀏覽)打開 "New Libraries Folder"(新建庫文件夾)嚮導。
  4. 在嚮導的 "Library Folder"(庫文件夾)頁中,輸入庫的位置並單擊 "Next"(下一步)。
    您可以以相對引用或絕對引用的形式輸入該位置。
  5. 在嚮導的 "Actions"(操作)面板中,爲每一個列出的庫驗證選定的操作。在大多數情況下,IDE 都會檢測最適合於該庫的操作。

    可用的操作包括:

    • Copy Library JAR Files to New Libraries Folder(將庫 JAR 文件複製到新庫文件夾)。如果庫不在所選的文件夾中,並且要將庫 JAR 文件放在該位置,則使用此選項。
    • Use Relative Path to Library JAR Files(使用庫 JAR 文件的相對路徑)。如果庫不在庫文件夾中,並且需要使用相對路徑訪問現有位置中的庫,則使用此選項。該庫的相對引用條目將會添加到庫文件夾的 nblibraries.properties 文件中。
    • Use Absolute Path to Library JAR Files(使用庫 JAR 文件的絕對路徑)。如果庫不在庫文件夾中,並且需要使用絕對路徑訪問現有位置中的庫,則使用此選項。該庫的絕對引用條目將會添加到哭文件夾的 nblibraries.properties 文件中。
    • Use Existing Library in Libraries Folder(使用庫文件夾中的現有庫)。如果庫文件夾中已存在庫副本,並且要使用該庫副本,則使用此選項。
  6. 單擊 "Finish"(完成)退出該向導。
  7. 單擊 "OK"(確定)退出 "Project Properties"(項目屬性)對話框。

注意:也可以使用 "Project Properties"(項目屬性)對話框的 "Libraries"(庫)節點來更改庫文件夾的位置。如果已經指定了庫文件夾,請單擊 "Browse"(瀏覽)打開一個文件選擇程序,而不是 "New Libraries Folder"(新建庫文件夾)嚮導。

使 Javadoc 在 IDE 中可用

要在 NetBeans IDE 中查看 JavaSE API 文檔,請使用 "Source"(源)> "Show Documentation"(顯示文檔)命令,或者從主菜單中選擇 "Window"(窗口)> "Other"(其他)> "Javadoc",以便在單獨的窗口中查看 API 文檔。

不過,對於某些第三方庫,則無法使用 API 文檔。在這些情況下,必須手動將 Javadoc 資源與 IDE 相關聯。

要使 API 文檔可用於“顯示 Javadoc”命令,請執行以下操作:

  1. 下載 Javadoc API 文檔源文件。
  2. 選擇 "Tools"(工具)> "Libraries"(庫)。
  3. 在 "Libraries"(庫)列表中,選擇項目所使用的庫。
  4. 單擊 "Javadoc" 標籤。
  5. 單擊 "Add ZIP/Folder"(添加 ZIP/文件夾)按鈕,然後導航至系統上包含 Javadoc API 文檔的 zip 文件或文件夾。選擇該 zip 文件或文件夾,然後單擊 "Add ZIP/Folder"(添加 ZIP/文件夾)按鈕。
  6. 單擊 "OK"(確定)。

爲應用程序啓用 Java Web Start

您可以在 IDE 中配置應用程序以通過 Java Web Start 運行。爲此,請使用 "Project Properties"(項目屬性)窗口中的 Java Web Start 類別。有關如何啓用 Java Web Start 的詳細信息,請參見在 NetBeans IDE 中啓用 Java Web Start 教程。

爲應用程序配置 Java Web Start:

  1. 右鍵單擊項目節點,選擇 "Properties"(屬性)。
  2. 在 "Project Properties"(項目屬性)對話框中,選擇 "Application"(應用程序)> "Web Start" 節點。
  3. 選中 "Enable Web Start"(啓用 Web Start)複選框,然後按照在 NetBeans IDE 中啓用 Java Web Start 的說明配置 Java Web Start 設置。

生成應用程序

此部分將介紹如何在 IDE 中生成標準項目、如何對生成過程進行基礎定製,以及如何處理編譯錯誤。

生成項目、包和文件

在 IDE 中進行編譯非常簡單。假定您已正確設置項目的編譯類路徑,只需選擇要編譯的項目、包或文件,並從“運行”菜單中選擇相應的“生成”或“編譯”命令。執行這些操作後,IDE 將編譯文件。

如果已爲 Java 項目啓用了“在保存時編譯”功能(或者爲 Java Web 或企業項目啓用了“在保存時部署”功能),則在保存項目文件時,IDE 會自動對其進行編譯。有關詳細信息,請參見下面的在保存時編譯部分。

生成用於部署的應用程序:

  • 選擇 "Run"(運行)> "Clean and Build Project"(清理並生成項目)。

    將刪除以前編譯的所有文件以及可分發的輸出(如 JAR 文件)。然後,會重新編譯這些文件並生成新輸出。此外,還會創建 build 文件夾以存放編譯的類。同時,生成 dist 以存放可分發的輸出,如 JAR 文件和 Javadoc 文檔。通過打開 "Files"(文件)窗口,可以查看生成輸出。

每次調用編譯命令時,IDE 都會在 "Output"(輸出)窗口中顯示輸出,其中包括遇到的任何編譯錯誤,如下面的修復編譯錯誤部分所述。

在保存時編譯

使用 IDE 的“在保存時編譯”功能,您可以節省在 IDE 中運行和調試項目的時間。爲項目啓用“在保存時編譯”功能後,項目文件即會在保存時進行編譯。在 IDE 中運行、測試、調試和分析項目時,編譯的文件會存儲在 IDE 使用的高速緩存中。這樣,您不必先等待生成應用程序,即可對其進行測試和調試。

啓用“在保存時編譯”功能後,會產生以下影響:

  • IDE 會在保存項目文件時對其進行編譯,這樣便可以隨時在 IDE 中運行或調試項目。
  • 禁用 "Build"(生成)命令。如果要在不使用 "Clean and Build"(清理並生成)命令的情況下重新生成 JAR 文件,則必須禁用“在保存時編譯”功能。
  • 在使用 "Run"(運行)、"Debug"(調試)、"Profile"(分析)或 "Test"(測試)命令時,不使用項目的 Ant 腳本。如果爲其中某個命令定製了生成腳本,則將忽略這些定製。
  • 在保存對項目文件所做的更改時,通過項目生成的 JAR 文件將不會更新爲最新。如果要生成或重新生成 JAR 文件,則需要使用 "Clean and Build"(清理並生成)命令。無論是否啓用了“在保存時編譯”功能,"Clean and Build"(清理並生成)命令始終都會使用項目的 Ant 腳本。

缺省情況下,將會爲創建的新項目啓用“在保存時編譯”功能。對於現有項目,“在保存時編譯”功能處於禁用狀態。

爲 Java 項目啓用或禁用“在保存時編譯”功能:

  1. 右鍵單擊項目節點,選擇 "Properties"(屬性)。
  2. 選擇 "Compiling "(編譯)節點,然後設置 " Compile on Save"(在保存時編譯)屬性。

同樣,IDE 爲 Java Web 和企業應用程序提供了“在保存時部署”功能。如果爲某個項目啓用了“在保存時部署”功能,並且該項目已通過 IDE 部署到服務器,則在更改項目文件後,會立即將其重新部署到服務器。要使“在保存時部署”功能可用於 GlassFish V2,GlassFish 實例必須選定了 "Directory Deployment Enabled"(啓用目錄部署)選項。

爲 Java Web 或企業項目啓用或禁用“在保存時部署”功能:

  1. 右鍵單擊項目節點,選擇 "Properties"(屬性)。
  2. 選擇 "Run"(運行)節點,然後設置 ""Deploy on Save"(在保存時部署)屬性。

爲 GlassFish V2 啓用目錄部署:

  1. 選擇 "Tools"(工具)> "Servers"(服務器)。
  2. 選擇服務器。
  3. 選擇 "Options"(選項)標籤。
  4. 選擇 "Directory Deployment Enabled"(啓用目錄部署)選項。

修復編譯錯誤

IDE 在 "Output"(輸出)窗口中顯示輸出消息和任何編譯錯誤。在發生編譯錯誤、調試程序、生成 Javadoc 文檔等情況下,會自動顯示此多標籤窗口。此外,還可通過選擇 "Window"(窗口)> "Output"(輸出)(在 Windows 上爲 Ctrl-4 組合鍵/在 Mac OS X 上爲 Cmd-4 組合鍵)打開此窗口。

此外,編譯錯誤還會顯示在 "Tasks"(任務)窗口中,並在源代碼編輯器中進行標記。

"Output"(輸出)窗口的一個重要功能就是通知您在編譯程序時發現的錯誤。錯誤消息會顯示爲帶下劃線的藍色文本,並鏈接到產生錯誤的源代碼行上(如下圖所示)。"Output"(輸出)窗口還提供了其他一些鏈接,這些鏈接指向在運行 Ant 生成腳本時所發現的錯誤。在單擊 "Output"(輸出)窗口中的錯誤鏈接時,源代碼編輯器會自動跳至包含該錯誤的行上。

顯示編譯錯誤的 "Output"(輸出)窗口

Ant 腳本運行的每個操作(如編譯、運行和調試文件)都將其輸出發送到相同的 "Output"(輸出)窗口標籤。如果需要保存 "Output"(輸出)窗口中顯示的消息,則可以複製該消息,並將其粘貼到一個單獨的文件中。此外,還可以設置 Ant,使其在新的 "Output"(輸出)窗口中輸出每個新目標的命令輸出,方法是:選擇 "Tools"(工具)> "Options"(選項),選擇 "Miscellaneous"(其他)類別,單擊 "Ant" 標籤,然後取消選中 "Reuse Output Tabs from Finished Processes"(重用完成進程中的輸出標籤)屬性的複選框。

過濾輸出文件

在創建 JAR 文件或 WAR 文件時,通常只需包含編譯的 .class 文件以及位於源目錄中的任何其他資源文件,如資源包或 XML 文檔。缺省過濾器會通過排除輸出文件中的所有 .java.nbattrs.form 文件來實現這一目的。

您可以使用正則表達式創建其他過濾器來控制輸出文件。要指定需排除的文件,請在 "Projects"(項目)窗口中右鍵單擊項目,然後選擇 "Properties"(屬性)以打開 "Project Properties"(項目屬性)對話框。在左窗格中,單擊 "Packaging"(打包)。在右窗格的相應文本框中,輸入正則表達式以指定在打包 JAR 或 WAR 文件時要排除的文件。除了缺省表達式以外,您還可以使用下面所列的一些正則表達式:

正則表達式 描述
\.html$ 排除所有 HTML 文件
\.java$ 排除所有 Java 文件
(\.html$)|(\.java$) 排除所有 HTML 和 Java 文件
(Key)|(\.gif$) 排除所有 GIF 文件和名稱包含 Key 的所有文件

有關正則表達式語法的指南,請參見 jakarta.apache.org

運行應用程序

此部分將介紹如何在 IDE 中運行項目以及如何配置項目的主類、運行時參數、VM 參數和工作目錄。

運行項目和文件

對於 Java 項目,通常會將包含程序主類的項目設置爲主項目。對於 Web 項目,主項目是第一個部署的項目。要運行項目、包或文件,請選擇下列任一操作:

  • 在主菜單中,選擇 "Run"(運行)> "Run Main Project"(運行主項目)(F6),以運行主項目。或者,也可以使用工具欄中的 "Run Main Project"(運行主項目)按鈕。
  • 在 "Projects"(項目)窗口中,右鍵單擊項目,然後選擇 "Run"(運行)以運行項目。請注意,對於 Java 項目,項目必須具有主類。
  • 在 "Projects"(項目)窗口中,右鍵單擊文件,然後選擇 "Run File"(運行文件)(Shift+F6) 以運行文件。此外,也可以在主菜單中選擇 "Run"(運行)> "Run File"(運行文件)> "Run Filename"(運行 <文件名>)(Shift+F6 組合鍵),以運行可運行的類。

運行項目時,IDE 在 "Output"(輸出)窗口中顯示任何編譯錯誤和輸出。有關詳細信息,請參見修復編譯錯誤

注意:如果爲項目啓用了“在保存時編譯”功能,則“運行項目”命令會處理在保存項目文件時所創建的類文件。同時,不會使用 Ant 生成腳本。如果在生成腳本中定義了定製步驟,則不會執行這些步驟。如果希望在使用 "Run Project"(運行項目)、"Debug Project"(調試項目)和 "Profile Project"(分析項目)命令時發生完整的生成過程,請禁用“在保存時編譯”功能。

定製運行時選項

缺省情況下,IDE 不指定主類、運行時參數或 JVM 參數。每個標準項目的運行時類路徑都包含項目的已編譯類以及項目編譯類路徑中的所有內容。您可以查看項目的編譯類路徑,方法是:打開 "Project Properties"(項目屬性)對話框,在 "Categories"(類別)窗格中選擇 "Libraries"(庫)節點,然後在右窗格中單擊 "Compile"(編譯)標籤。

要更改項目的運行時選項,請在 "Projects"(項目)窗口中右鍵單擊項目節點,然後選擇 "Properties"(屬性)以打開 "Projects Properties"(項目屬性)對話框。接下來,在 "Categories"(類別)窗格中選擇 "Libraries"(庫)節點,然後在該對話框的右窗格中單擊 "Run"(運行)標籤。請注意,要訪問主類、程序參數、用於執行程序的工作目錄以及 VM 選項的設置,必須選擇 "Run"(運行)節點。在下一部分中,我們將詳細介紹如何配置運行時類路徑。

在 "Project Properties"(項目屬性)對話框中指定運行時設置

設置運行時類路徑

要將項目、庫、JAR 文件和文件夾添加到項目的運行時類路徑中,請使用 "Project Properties"(項目屬性)對話框中 "Run-time Libraries"(運行時庫)列表右側的相應按鈕。

如果項目在運行時通過間接接口或反射(如 JDBC 驅動程序或 JAXP 實現)動態使用特殊庫,則必須將這些庫添加到運行時類路徑中。如果項目之間的運行時依賴關係與項目之間的編譯依賴關係不匹配,則還必須調整運行時類路徑。例如,假定項目 A 依賴項目 B 進行編譯,項目 B 依賴項目 C 進行編譯,但項目 A 不依賴項目 C 進行編譯。這就意味着項目 A 在其運行時類路徑中僅包含項目 B。如果項目 A 在執行過程中同時需要項目 B 和項目 C,則必須將項目 C 添加到項目 A 的運行時類路徑中。

設置主類和運行時參數

要設置項目的主類,請在 "Project Properties"(項目屬性)對話框的 "Categories"(類別)窗格中選擇 "Run"(運行)節點,然後在 "Main Class"(主類)字段中鍵入全限定名稱(例如 org.myCompany.myLib.MyLibClass)。主類必須位於項目中,或者位於項目運行時類路徑上的某個 JAR 文件或庫中。之後,在 "Arguments"(參數)字段中鍵入任何所需的運行時參數。

如果使用 "Browse"(瀏覽)按鈕選擇項目主類,則文件選擇器只顯示項目源目錄中的類。如果要指定類路徑上某個庫中的類,則必須在 "Main Class"(主類)字段中鍵入該類的全限定名稱。

設置 JVM 參數

您可以在 "Project Properties"(項目屬性)對話框中指定項目的 JVM 參數。方法是:打開 "Project Properties"(項目屬性)對話框,在 "Categories"(類別)窗格中單擊 "Run"(運行),然後在 "VM Options"(VM 選項”)字段中鍵入以空格分隔的 JVM 參數列表。

可以通過在 "VM Options"(VM 選項”)字段中鍵入以下內容來設置系統屬性:

-Dname=value

定製生成腳本

在標準項目中,IDE 將基於您在 "New Project"(新建項目)嚮導和項目的 "Project Properties"(項目屬性)對話框中輸入的選項來創建生成腳本。您可以在項目的 "Project Properties"(項目屬性)對話框中設置所有基本的編譯和運行時選項,IDE 會自動更新項目的 Ant 腳本。如果對在 "Project Properties"(項目屬性)對話框中無法處理的生成過程有其他要求,則可以直接修改生成腳本。

標準項目的主 Ant 腳本是 build.xml。每次運行 IDE 命令時,IDE 都會調用 build.xml 中的目標。此文件包含一條導入 nbproject/build-impl.xml(其中包含 IDE 生成的生成目標)的 import 語句。在 build.xml 中,可以覆蓋 nbproject/build-impl.xml 中的任何目標或編寫新目標。請勿直接編輯 nbproject/build-impl.xml,因爲會基於 "Project Properties"(項目屬性)對話框中所做的更改重新生成該文件。

此外,生成腳本會使用可手動編輯的 nbproject/project.properties

對於標準項目,可以通過執行下列任一操作來定製生成過程:

  • 創建項目時在 "New Project"(新建項目)嚮導中輸入基本選項(如類路徑設置和 JAR 過濾器),或者以後在 "Project Properties"(項目屬性)對話框中進行設置。
  • 編輯 nbproject/project.properties 中的屬性。此文件存儲了 Ant 屬性以及有關項目的重要信息,如源文件夾和輸出文件夾的位置。您可以覆蓋此文件中的屬性。請謹慎編輯此文件。例如,每次清理項目時,都會刪除輸出文件夾。因此,如果未事先將清理目標配置爲不刪除輸出文件夾,則切勿將輸出文件夾的位置設置爲與源文件夾相同。
  • 執行下列任一操作以定製現有 Ant 目標或創建新的 Ant 目標:
    • 添加在運行 Ant 目標之前或之後處理的指令:nbproject/build-impl.xml 中的每個主目標還具有可以在 build.xml 中覆蓋的 -pre-post 目標。例如,要使 RMI 可用於常規項目,請在 build.xml 中鍵入以下內容:
      <target name="-post-compile">
        <rmic base="${build.classes.dir}" includes="**/Remote*.class"/>
                          </target>
    • 更改 Ant 目標中的指令。將 nbproject/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 文件中的文件。 右鍵單擊 "Projects"(項目)窗口中的項目節點,然後選擇 "Properties"(屬性)。單擊 "Packaging"(打包)子節點(在 "Build"(生成)下面),然後使用 "Exclude from JAR File"(從 JAR 文件中排除)字段配置過濾器和壓縮設置。有關詳細信息,請參見過濾輸出文件
更改 JAR 文件的名稱和位置。 在 "Files"(文件)窗口中,雙擊項目的 nbproject/project.properties 文件以在源代碼編輯器中將其打開。在 dist.jar 屬性中輸入 JAR 文件的完整路徑。
指定 JAR 文件的清單文件。 project.properties 中的 manifest.file 屬性上,鍵入清單文件的名稱。指定的文件名必須與項目的 build.xml 文件有關。請注意,如果您使用的是 Java 應用程序模板,則 IDE 將會爲您創建一個清單文件。
禁止爲項目生成 JAR 文件。 在 "Files"(文件)窗口中,打開項目文件夾,然後打開 build.xml。覆蓋 jar 目標,使其不包含任何內容和依賴關係。例如,將以下內容添加到 build.xml 中:
<target name="jar" />

如果要查找了解 Ant 所需的資源,請參見 http://ant.apache.org/resources.html。您還可以使用插件管理器將 Ant 手冊安裝到 IDE 幫助系統中。方法是:選擇 "Tools"(工具)> "Plugins"(插件),然後安裝 Ant 文檔模塊。

編輯和運行 Ant 腳本

IDE 會自動識別 Ant 腳本,並將其顯示爲 Ant 腳本節點 (Ant 腳本節點圖標),而不是顯示爲常規的 XML 文件。您可以在 "Projects"(項目)窗口、"Files"(文件)窗口或 "Favorites"(收藏夾)窗口中右鍵單擊 Ant 腳本來訪問包含一些命令的彈出式菜單。此外,還可以展開 Ant 腳本節點,以查看錶示 Ant 腳本目標的子節點的列表(按字母順序排列)。其中的每個子節點也都具有包含一些命令的彈出式菜單。

在 "Projects"(項目)窗口、"Files"(文件)和 "Favorites"(收藏夾)窗口中,Ant 腳本的子節點會採用以下方式進行標記:

圖標 含義
強調的 Ant 目標圖標

強調的 Ant 目標。這些目標包含以工具提示方式顯示的描述屬性。您可以在源代碼編輯器中定義目標的描述屬性。

常規 Ant 目標圖標 常規 Ant 目標。不帶描述屬性的目標。

雙擊 Ant 腳本的任意子節點,即可跳至該目標在源代碼編輯器中的相應位置。所有的常規 XML 搜索工具、選擇工具和快捷鍵都可用於編輯 Ant 腳本,並且 IDE 爲所有標準 Ant 任務提供了代碼完成。

在創建要從命令行運行的目標時,需爲該目標提供一個描述屬性。之後,如果忘記了目標的名稱或其作用,則可以從命令行運行 ant -projecthelp <script> 命令。使用此命令時,Ant 僅列出具有描述屬性的目標及其描述。尤其是當 Ant 生成腳本中存在許多目標時,可以在強調一些目標的同時取消強調另一些目標,通過這種有用的方式可以將那些常用目標和不常用目標區別開。

Projects"(項目)窗口、"Files"(文件)和 "Favorites"(收藏夾)窗口中子節點標籤的字體樣式指示以下信息:

  • 正常。在當前 Ant 腳本中定義的目標。
  • 斜體。從其他 Ant 腳本導入的目標。
  • 灰顯。無法直接運行的內部目標。內部目標的名稱以 "-" 開頭。
  • 粗體。腳本的缺省目標(如果存在)。缺省目標和其他項目屬性(如其名稱)一起被聲明爲項目的屬性。您可以在源代碼編輯器中定義項目的缺省屬性。

未列出從其他腳本導入但在導入腳本中被覆蓋的目標。僅列出了覆蓋目標。

在 "Projects"(項目)窗口、"Files"(文件)或 "Favorites"(收藏夾)窗口中,可以從 Ant 腳本的節點運行 Ant 腳本中的目標。要執行此操作,請右鍵單擊 Ant 腳本節點,然後從 "Run Target"(運行目標)子菜單中選擇一個目標。目標按字母順序排列。僅列出了強調的目標。選擇 Other Targets"(其他目標)可運行未使用描述屬性強調的目標。這些列表中未包括內部目標,因爲它們無法獨立運行。

您不必使用 Ant 腳本節點的彈出式菜單也可運行目標,只需右鍵單擊目標的節點,然後選擇 "Run Target"(運行目標)即可輕鬆實現。

運行 Ant 目標

編寫定製 Ant 任務

您可以使用定製 Ant 任務來擴展由 Ant 內置任務提供的功能。定製任務通常用於定義屬性、創建嵌套元素,或使用 addText 方法直接編寫標記之間的文本。

在 IDE 中創建定製 Ant 任務:

  1. 右鍵單擊要在其中放置任務的包,然後選擇 "New"(新建)> "Other"(其他)。
  2. 選擇 "Other"(其他)類別和 "Custom Ant Task"(定製 Ant 任務)文件類型。
  3. 完成嚮導。

創建定製 Ant 任務文件後,其模板在源代碼編輯器中打開。該模板包含 Ant 任務執行的許多常見操作的樣例代碼。在每段代碼後,該模板還說明了如何在 Ant 腳本中使用任務。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章