使用 NetBeans 開發和構建項目 GlassFish
作者及整理人: Brian LeonardBrian Leonard 2005 年 6 月 6 日,2005 年 1 月 31 日更新
反饋反饋
Project GlassFish 是 Sun 在 Java.net 上的開源應用程序服務器開發,已設置為與 NetBeans 協作使用。包含項目 GlassFish 的 30 個模塊中的每一個都已設置為 NetBeans 項目。本文將向您演示如何設置環境以使用 NetBeans 來編輯、構建及運行 project GlassFish。另外,我將演示如果需求升級,如何修改項目設置並設置新模塊。有關本文所涉及的步驟的完整詳細信息,請參見如何構建 GlassFish 上的完整說明。
這些說明要與 NetBeans 5.0 結合使用。如果您使用的是 NetBeans 4.1,請使用此版本。
設置環境
NetBeans下載並安裝 NetBeans 5.0
Maven
下載並安裝 Maven 1.0.2。請驗證是否通過在命令提示符運行“maven -v”來安裝。
獲取 GlassFish 源
創建 Workspace Home
創建“workspace”目錄。
cd workspace
獲取源
登錄 CVS:
cvs -d :pserver:<java.net userid>@cvs.dev.java.net:/cvs login
簽出 glassfish 模塊:
cvs -d :pserver:<java.net userid>@cvs.dev.java.net:/cvs checkout glassfish/bootstrap
設置項目屬性
CD 到 glassfish/bootstrap
在 project.properties 中設置以下屬性:
glassfish.os.name=[WINNT, Linux, SunOS, SunOS_X86]
glassfish.cvs.username=<your java.net userid>
獲取、配置和測試 GlassFish 圖像這裡將下載並安裝完整的 GlassFish 工作版本。GlassFish 圖像將下載到 Maven 存儲庫中,然後從存儲庫解壓縮到 glassfish.home,如在 glassfish/project.properties 文件中所配置的。構建對其他模塊有依賴性的模塊時,遞增構建將使用 glassfish.home 的庫來解決那些類路徑依存關系。
仍在 boostrap 目錄中,運行“maven bootstrap”。請注意,GlassFish 圖像超過 60 MB,因此該步需要幾分鐘的時間。
運行“maven configure-runtime”
將目錄更改為 ..\..\publish\glassfish\bin 並運行“asadmin list-domains”。
在 NetBeans 中簽出、打開並修改 GlassFish 模塊項目
對於本練習,我們將對 admin-cli 項目進行修改。
獲得 admin-cli 源
cd 到 workspace/glassfish/bootstrap
簽出 admin-cli 模塊:
maven checkout -Dmodules=admin-cli,appserv-docs
cd ../appserv-docs
運行“maven build”
請注意,因為 admin-cli 模塊取決於 appserv-docs,所以需要步驟 3 和 4。
在 NetBeans 中打開 Admin Cli 項目
啟動 NetBeans,然後選擇 File > Open Project (Ctrl+Shift+0)。
浏覽到 /workspace/glassfish/admin-cli。請注意,文件夾圖標上的 NetBeans 標記,表明 NetBeans 將其識別為一個項目。
修改 GlassFish 源
展開 commands/src/java 源根和 com.sun.enterprise.cli.commands 包。
焦點仍在 Projets 選項卡中,鍵入“S1AS”並按 Enter。這將打開 Quick Search,跳轉到文件並打開文件。
按 Ctrl+7,然後鍵入“val”並按 Enter。這將跳轉到驗證的選項方法。
在方法的頂部進行添加,鍵入“sout”並按空格。將展開到 system.out.println("");。在引號之間鍵入“Welcome to GlassFish!”。
System.out.println("Welcome to Project GlassFish!");
構建和測試所作的更改
按 F11 啟動模塊的構建腳本。該構建腳本將更新 glassfish.home 中的 jar。
將目錄更改為 /workspace/publish/glassfish/bin 並運行“asadmin list-domains”。
關於 GlassFish NetBeans 項目
大約有 30 個模塊構成項目 GlassFish,每個模塊作為自由形式項目類型的 NetBeans 項目進行設置。因為自由形式項目類型是為具有現有 Ant 腳本的項目設計的,所以 NetBeans 將創建名為 project.xml 的輔助文件,用於:
將現有 Ant 目標映射到 IDE 特定命令
向 NetBeans 報告項目的源目錄
向 NetBeans 編輯器報告項目的類路徑。
將在名為 nbproject 的子目錄中找到 project.xml 文件。
將 Ant 目標映射到 IDE 命令如果查看任一 GlassFish 模塊項目的 Build and Run 屬性,則會發現已映射了 Build and Clean 項目菜單條目。
有關該項目類型的詳細信息,請參閱高級自由形式項目配。
配置項目的源目錄NetBeans 的邏輯 Projects 視圖顯示了 GlassFish 模塊的各種源目錄。在下面的示例中,Admin CLI 項目有 3 個已配置的源目錄。
這些目錄是在項目的 Java Sources 屬性中進行配置的。
配置編譯器的類路徑
NetBeans 編輯器沒有將類路徑信息從 Ant 構建腳本中拉出。雖然將構建模塊,但是在編輯器中看起來並不漂亮。例如,這裡在配置類路徑之前是 S1ASCommand.java。
GlassFish 構建腳本為其類路徑使用解壓縮的 GlassFish 圖像的庫。這些庫的位置是在 glassfish 模塊的 project.properties 文件中進行配置的(當獲取源後,我們簽出了上述 glassfish 模塊)。
類似構建目標和源路經配置,也可以通過項目的屬性編輯器實現上述操作。但是,使用屬性編輯器將設置所需庫的絕對路徑,因此我們手動編輯了 project.xml 文件,這樣當配置編輯器類路徑時,我們可以參考 glassfish/project.properties。
首先,我們將 glassfish/project.properties 導入 project.xml 文件。
然後,參考映射到 jar 文件的 glassfish/project.properties。請注意,每個源根有其自己的類路徑。因此在下列示例中,cli-api/src/java 中的源沒有其他依存關系。但是,commands/src/java 中的源依賴於 admin-cli.jar、appserv-admin.jar 和 appserv-rt.jar 中的類。
在任一 GlassFish 模塊中,如果未解決 NetBeans 編輯器中的編譯錯誤,則向類路徑中添加丟失的 jar 文件就是個問題。
注意從 NetBeans Project Property 編輯器進行查看時要適當解決的屬性。
有關該項目類型的詳細信息,請參閱高級自由形式項目配。
NetBeans 對 Maven 的支持NetBeans 的確具有一個 Maven 的插件。但是,GlassFish Project 尚未設置 Maven 所期望的項目依存關系。在這個階段,Maven 事實上被用作基於基礎架構的 GlassFish 項目的現有 Ant 的包裝。在未來的階段,GlassFish 團隊要提供更完全的 Maven 支持。