熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

Eclipse 3.1 WTP Web程序支持Beehive

2013-11-23 20:12:21  來源: Java開源技術 

  下面闡述的是如何使一個Eclipse Web Tools Platform (WTP) Dynamic Web應用程序支持Apache Beehive其中使用的開源工具包括Eclipse Web Tools Platform (WTP) MJava Development Tools Annotation Processing Tool (JDT APT) beta和Apache Beehive
  
  前提條件
  
  您已經啟動了Eclipse WTP M和JDT APT Beta並且安裝了Apache Beehive 否則請利用以下鏈接來設置環境
  Eclipse SDK
  WTP MM/
  JDT APT beta
  Apache Beehive cgi
  
  WTP Dynamic Web項目設置
  
   創建新的Dynamic Web項目
  
  我們將通過New Project Wizard(新項目向導)創建一個WTP Dynamic Web項目並對該項目加以調整以便支持Apache Beehive打開Project Wizard然後利用以下信息填寫Wizard中的相關值
  
  Project Wizard            Web > Dynamic Web Project
  
  Name                 [此處填寫項目名稱]
  
  Show Advanced >>            [選中]
  
  Target runtime > New        BEA > BEA WebLogic Server v
  使用默認的JRE
  Application Server Directory[填寫WLS的安裝位置]
  
  Module Version            
  
  Add module to an EAR application   不選
  (我們不想把這個Web應用程序添加到EAR)
  
  Context Root             [使用默認值]
  
  Source Folder             src
  
  Web Content folder          web
  
  Add support for annotated Java classes選中
  
  Support Multiple Modules per project 不選
  
  新的Dynamic Web Project Wizard如下所示
  
 educitycn/img_///jpg >

   導入Beehive Support Ant構建文件
  
  所提供的Beehive Support Ant構建文件位於一個zip存檔文件中有兩種方法可以將該文件的內容導入新的Web項目
  
   利用Eclipse的導入功能
  
   將文件內容解壓到Web App項目目錄下
  
  將下面的文件保存在您的系統上setup_beehivezip
  
  然後右擊Package Explorer View中的Web項目選擇Import > Archive file在下面的例子中該文件保存在C:\Temp目錄下
  
 educitycn/img_///jpg >

   將Web project/setupbeehive文件夾中的Ant構建文件添加到AntView
  
  現在Beehive Support Ant構建文件已就緒我們可以將setupbeehive/buildxml文件添加到Ant View這樣一切都准備好了您會看到如下界面
  
 educitycn/img_///jpg >

   打開NavigatorView
  
  我們要查看一下文件系統的內容以便更好地了解WTP項目的構成最好的方法是利用Navigator View您會看到如下界面
  
 educitycn/img_///jpg >

  請注意以圓點開頭的所有文件和文件夾這些文件和文件夾是EclipseWTP和其它插件用來管理項目的行為和配置的當進一步配置該項目時可以定期打開這些文件查看所做的更改對它們的影響
  
  應特別注意deployables文件夾該文件夾包含部署一個已構建的Web應用程序所必需的結構例如如果我們要設置開發環境以便使用Tomcat該目錄即為在Tomcat上部署的結構WebLogic Server 則有一點不同要根據該文件夾中的內容創建一個可部署的jar文件然後將該jar文件移至WebLogic Server的autodeploy文件夾中
  
   檢驗buildxml的屬性
  
  您需要確保buildxml文件針對所需的環境進行了配置需要驗證的屬性標記是beehivehome和projectname如果新的Dynamic Web項目沒有使用推薦的值您可能還需要查看projectsrc和projectweb屬性這些屬性必須正確設置構建文件才能工作
  
   運行enablebeehive Ant目標
  
  enablebeehive Ant目標執行多種任務它將部分netuiblank Beehive示例復制到Web項目以及提供支持的Beehive和Controls庫中
  
  從Ant View運行enablebeehive Ant目標並查看結果在下面的界面中用黃色突出顯示了由該Ant目標文件添加或受其影響的文件
  
  注意如果在運行Ant任務之後您的View沒有更新請手動刷新Web項目
  
 educitycn/img_///jpg >

  如果您希望了解Ant構建文件執行的操作最好是打開構建文件浏覽其內容您會發現它所執行的操作與Beehive Tools(Beehive Ant文件和任務)相同只不過是以一種用於Eclipse WTP Dynamic Web Project的方式
  
   更改Web項目的默認輸出文件夾
  
  當設置Dynamic Web Project時請將/bin文件夾作為默認輸出文件夾如前所述deployables文件夾包含可部署的/可運行的組件因此我們需要更改該設置
  
  打開Web項目Properties找到Java Build Path然後選中您可以通過手動輸入或者使用Browse按鈕進行更改您會看到如下界面
  
 educitycn/img_///jpg >

   更改Java Compiler JDK Compliance level以支持注釋
  
  除非您已將整個workspace的JDK Compliance level更改為否則該項目就不支持注釋我們知道注釋對於Apache Beehive十分重要因此我們需要更改JDK Compliance level
  
  打開Web項目Properties找到Java Compiler然後選中選擇Enable project specific settings然後將Compiler compliance level設置為您會看到如下界面
  
 educitycn/img_///jpg >

   查看deployables文件夾
  
  現在我們已經快要在Eclipse中完成一個自構建的Beehive項目了讓我們看一下deployables文件夾的內容記住您需要在Navigator View中進行查看deployables文件夾內容如下所示
  
 educitycn/img_///jpg >

  注意部署到Web服務器所需要的一切東西幾乎都在該文件夾中有趣的是其中一些經過匯編的Page Flow(SharedFlowclass和Controllerclass)包含有注釋但提供支持的struts配置卻不見了即使Page Flows經過編譯也不能完全正常運行而這正是JDT APT配置發揮作用的時候在下面一節中我們將配置JDT APT
  
  為Beehive配置JDT APT
  
  您可能注意到了Ant構建文件包含一個稱為setupjdtapt的目標這是一種自動執行下面步驟的方法但是如果您是初次使用Beehive創建Web應用程序建議您執行下面的步驟以便可以更好地了解如何為Apache Beehive配置JDT APT
  
  在Web項目中創建build/apt/src文件夾
  
  配置JDT APT將生成的所有源文件放入build/apt/src文件夾最好提前創建該文件夾
  
   將build/apt/src文件夾作為源文件夾添加至Java Build Path
  
  新創建的源文件夾需要作為源文件夾放入Java Build Path這樣Eclipse就會優先處理生成的源文件
  
  打開Web項目Properties找到Java Build Path並選中然後在Source選項卡下選擇Add Folder按鈕找到並選中build/apt/src文件夾請確定只選中了src文件夾而沒有選中父文件夾(例如build/apt)您的項目Properties如下所示
  
 educitycn/img_///jpg >

  關閉Properties窗口之後您會在Package Explorer View中看到以下界面
  
 educitycn/img_///jpg >

   配置Web項目的Annotation Processing
  
  JDT APT有兩個配置點第一個就是Annotation Processing設置該配置點允許您設置保存生成的源文件以及處理鍵/值對的目錄鍵/值對被交給處理器以便通知處理器source rootcontent rootoutput root等等都在何處
  
  打開Web項目的Properties在樹型目錄結構中找到Java Compiler > Annotation Processing節點並選中然後利用以下信息進行配置
  
  注意您需要將MyWebApp替換為自己的項目名稱
  
  Enable project specific settings:   選中
  
  Enable annotation processing:     選中
  
  Generated source directory:      build/apt/src
  
  Processor Option weboutputroot:   %ROOT%/MyWebApp/deployables/MyWebApp
  
  Processor Option ntentroot:   %ROOT%/MyWebApp/web
  
  Processor Option websourceroots:   %ROOT%/MyWebApp/src
  
  您會看到如下界面
  
 educitycn/img_///jpg >

  將weboutputroot設置為%ROOT%/MyWebApp/deployables/MyWebApp而非%ROOT%/MyWebApp/web的原因是在如何在當前的WTP中進行構建方面存在著一個問題如果您使用的是第二種設置struts配置就不會將其配置到deployables文件夾中但是由於在項目文件(例如web/WEBINF/classes)中不需要struts配置則實際上將該設置配置到deployables文件夾更有意義
  
   配置Web項目的Factory Path
  
  這是JDT APT的第二個配置點它可以指定用於定位注釋處理器的jar文件等等共有四個jar文件需要添加至Factory Path配置以便支持Apache Beehive
  
  打開Web項目的Properties在樹型目錄結構中找到Java Compiler > Annotation Processing > Factory Path節點並選中然後利用以下信息進行配置
  
  Enable project specific settings:  選中
  
  Add External Jars        C:\apachebeehive\lib\common\velocityjar
  
  Add External Jars        C:\apachebeehive\lib\common\velocitydepjar
  
  Add External Jars        C:\apachebeehive\lib\controls\beehivecontrolsjar
  
  Add External Jars        C:\apachebeehive\lib\netui\beehivenetuicompilerjar
  
  您會看到如下界面
  
 educitycn/img_///jpg >

   在Web項目中運行Run Project > Clean並查看結果
  
  現在我們已配置了JDT APT接下來需要驗證構建過程是否能夠正常工作我們通過在Web項目中執行清除來執行完整構建然後我們在Navigator View中查看結果
  
  如果Navigator View還沒有打開則立即打開展開Web項目中的deployables文件夾選擇Project > Clean菜單項並且只清除Web項目清除完成之後您會在Navigator View中看到如下界面
  
 educitycn/img_///jpg >

   完成配置
  
  至此我們已完成WTP Dynamic Web應用程序的Beehive配置我們可以添加Page FlowJava Control等等並讓Eclipse/Beehive自動構建必要的二進制文件和配置文件
  
  您可以隨意探索Navigator View查看deployables文件夾和_pageflow文件夾中所生成的內容您可以打開某些文件如strutsconfigxml查看所生成的內容
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28122.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.