Eclipse是一個非常優秀的集成開發環境
這個在IBM支持下的開放源碼項目經過一段時期的發展完善
已經為廣大Java開發者所熟悉
Eclipse的出現
為Java開發者提供了免費使用強大的Java IDE的機會
通過集成大量的plugin
Eclipse的功能可以不斷擴展
以支持各種不同的應用
Lomboz是一個免費的Eclipse plugin
它將很多Java應用服務器
J
EE組件和Web應用開發集成到Eclipse中
可以幫助Java開發者使用Eclipse建立
測試
部署J
EE應用
JBoss是一個開放源碼功能強大的Java應用服務器也是目前最受Java開發者歡迎的Java應用服務器被Java World的編輯們評為年的最佳應用服務器年到目前為止的下載量已經超過了一百五十萬次
一下載安裝和配置
. Eclipse的下載和安裝
首先需要安裝JDK可以到Sun的網站上去下載最新版本並安裝
然後到去下載Eclipse的最新版本目前的最新版本是下載以後解壓到自己想要的目錄中比如D:\Eclipse直接運行eclipseexe第一次運行的時候會自動尋找JDK並完成相應的配置然後就進入了Eclipse的主界面關於Eclipse的基本使用方法developerWorksEclipse的網站以及Eclipse的隨機文檔上都有詳細地介紹這裡不詳細描述了
. Jboss的下載安裝
JBoss目前的最新版本是不過我覺得這個版本有一些問題啟動服務器的時候會有一些jar包找不到導致WARN和ERROR的發生所以我推薦下載也可以下載集成了Tomcat 的JBoss 版本
下載後解壓我們假設JBOSS_HOME為JBoss的主目錄執行JBOSS_HOME/bin/runbat就啟動了JBoss服務器一般會在分鐘左右啟動完畢
. Lomboz的下載安裝和配置
Lomboz目前的最新版本是我們假設Eclipse的主目錄為ECLIPSE_HOME下載以後將其解壓到ECLIPSE_HOME/plugins文件夾下面這樣在這個文件夾下面就多了一個comobjectlearnjdtjee文件夾
然後啟動Eclipse 會自動出現Customize Perspective的對話框如果沒有出現的話也可以通過菜單Window>Customize Perspective來顯示這個對話框如下圖所示
展開File>New選擇所有與Lomboz相關的選項
展開Window>Show View選擇Lomboz JEE View;
展開Other選擇Lomboz Actions
確認OK
下面要進行Lomboz的配置
首先打開屬性對話框確保Java>New Project中的設置
接著在Lomboz屬性中確保如下設置
最後設置服務器屬性
Lomboz預先定義了一些常用的Java服務器的設置這些配置文件放在ECLIPSE_HOME/plugins/comobjectlearnjdtjee/servers 文件夾下面你可以用文本編輯器手工修改(除非你所用的服務器不在Lomboz默認的服務器中否則我不推薦你這麼做)也可以在Eclipse的屬性對話框中設置設置的過程非常簡單如下圖所示
記得每次修改以後都要點擊Apply
上圖是Properties標簽下的設置Classpath標簽下一般不需要做任何改動(注意如果你沒有聽我文章開始部分的勸告使用了JBoss以上的版本可能需要手工加入多了個jar包這是體力活有些麻煩我不知道這是不是JBoss的問題具體操作我在下面會提一下)
通過以上三個步驟就完成了Lomboz對JEE開發的支持和JBoss的配置你可以進入文章的第二部分使用Eclipse開發Web應用了
注意事項
a.如果服務器不在默認服務器之列
在ECLIPSE_HOME/plugins/comobjectlearnjdtjee/servers 文件夾下新建一個後綴名為server的文件然後根據已有的server文件為模版用文本編輯器編輯server文件建立了一個新的server文件以後也可以在Lomboz的屬性頁中進行相應的設置
b. 如果使用了JBoss版本
打開Window>Preferences>Lomboz>ServerDefinitions選擇你的服務器然後選擇classpath標簽將如下的jar包加入到server library中
JBOSS_HOME\lib\concurrentjar JBOSS_HOME \lib\bosssystemjarJBOSS_HOME \server\default\lib\jbossjar JBOSS_HOME \server\default\lib\jplpatternjar JBOSS_HOME \server\default\lib\jplutiljar JBOSS_HOME \server\default\lib\jnpserverjar JBOSS_HOME \server\default\lib\jbosstransactionjar
我的JBossserver文件中的全部內容在本文的最後部分呈現
二使用Eclipse開發Web應用
首先打開File>New>Lomboz JEE Project創建一個名為TestJEE的JEE Project
點擊Next默認各種設置點擊Next進入下一個對話框在Targeted Server中加入已經配置好的服務器如下圖
在Web Modules和EJB Modules中分別新建Web模塊和EJB模塊在本例中我們分別命名為MyWeb和MyEJB然後點擊Finish這樣一個JEE項目的框架就自動生成了
在MyWeb模塊下面自動生成了兩個jsp文件indexjsp和errorjsp以及WEBINF文件下面的配置文件我們可以在此基礎上面添加自己的jsp文件和servlet然後build project
在Eclipse的工具欄上點擊Lomboz JEE project outliner的按鈕
這樣在Eclipse上就出現了Lomboz JEE View如下圖所示
由於我事先已經部署了另一個Web服務器Tomcat所以在MyWeb這個模塊上面出現了它所綁定的這兩個服務器JBoss All 旁邊的紅色標記表示它是默認的服務器可以通過右擊Web模塊選擇更改默認的服務器如下圖
選擇好服務器以後在Lomboz JEE View中右鍵單擊服務器選擇運行服務器等服務器啟動好以後右鍵單擊Web模塊選擇Deploy Module這樣就完成了Web模塊在服務器上的部署打開IE浏覽器鍵入就可以看到自己開發的Web應用了
這裡有一點需要說明如果采用Tomcat作為Web服務器的話如果Web模塊需要重新部署則須重新啟動Tomcat服務器JBoss則不需要這麼做
注意事項
如果從Eclipse中啟動JBoss服務器的時候遇到了這個問題
Error occurred during initialization of VM java/lang/NoClassDefFoundError: java/lang/Object
一般遇到這個問題可能是由於JRE沒有設置好請在Eclipse中的Preference對話框中展開Java>Installed JREs查看JRE是否設置好了然後打開所開發的項目屬性對話框查看Java Build Path的library中是否有JRE System Library沒有的話點擊Add Library添加JRE System Library
三使用Eclipse開發EJB
在第二部分使用Eclipse開發Web應用中我們已經在TestJEE這個JEE項目中添加了一個名為MyEJB的EJB模塊下面我們通過Lomboz EJB Creation Wizard向MyEJB模塊中添加一個Session Bean
點擊File>New>Lomboz EJB Creation Wizard或者右擊MyEJB模塊選擇New>Lomboz EJB Creation Wizard顯示出如下對話框
在comdinotestjeemyejb這個包下面創建一個名為MyEJB的Stateless Session Bean完成以後在TestJEE項目的src文件夾下面出現了一個名為MyEJBBeanjava的文件右擊這個文件選擇New>Lomboz EJB Method Wizard可以給這個EJB添加各種方法我添加了一個helloWorld方法返回一個String類型如下圖所示
然後需要把MyEJB這個Session Bean添加到MyEJB這個模塊上面右擊MyEJBjava選擇Lomboz JEE…>Add EJB to Module選擇MyEJBOK
右擊MyEJB模塊選擇LombozJEE…>Generate EJB Classes這樣就在ejbsrc目錄下面自動生成了下面幾個文件
MyEJBHomejavaMyEJBRomejavaMyEJBLocalHomejavaMyEJBLocaljavaMyEJBSessionjava (MyEJBSession extends MyEJBBean)MyEJBUtiljava
Build project以後自動將模塊打包完畢接著就可以按照部署Web模塊的步驟來部署EJB模塊了最後我們建立一個應用程序來測試EJB通過File>New>Lomboz EJB Test Client Wizard打開一個對話框按下圖填寫
完成以後在src目錄下面生成了TestMyEJBjava在其中的testBean方法中加入測試代碼
Systemoutprintln(myBeanhelloWorld());
如果目前JBoss服務器已經啟動而且MyEJB模塊已經部署的話執行TestMyEJB就會在Console窗口上顯示出
hehe I can deploy EJB by Eclipse!
附錄JBossserver
ejbModules=true webModules=true earmodules=true> type=directory default=D:/jboss /> type=string default= /> type=string default= /> type=string default=JBOSS /> type=directory default=D:/jboss /> ${serverRootDirectory} ${serverRootDirectory}/server/all/deploy ${serverRootDirectory}/server/all/deploy ${serverRootDirectory}/server/all/deploy orgjnpinterfacesNamingContextFactory jnp://${serverAddress}: orgjbossMain ${serverRootDirectory}/bin c all orgjbossShutdown ${serverRootDirectory}/bin ${serverAddress} ${serverPort} JDK_TOOLS ${classPathVariableName}/bin/runjar ${classPathVariableName}/bin/shutdownjar ${classPathVariableName}/client/jbossjeejar ${classPathVariableName}/server/all/lib/javaxservletjar ${classPathVariableName}/lib/commons ${classPathVariableName}/lib/concurrentjar ${classPathVariableName}/lib/getoptjar ${classPathVariableName}/lib/jbossbootjar ${classPathVariableName}/lib/jbosscommonjar ${classPathVariableName}/lib/jbossjmxjar ${classPathVariableName}/lib/jbosssystemjar ${classPathVariableName}/lib/jdomjar ${classPathVariableName}/lib/logjbootjar ${classPathVariableName}/lib/webdavlibjar ${classPathVariableName}/lib/xercesImpljar ${classPathVariableName}/lib/xmlapisjar ${classPathVariableName}/server/all/lib/jnetjar ${classPathVariableName}/lib/gnuregexpjar ${classPathVariableName}/server/all/lib/jbossjar ${classPathVariableName}/server/all/lib/jnpserverjar ${classPathVariableName}/server/all/lib/jplutiljar ${classPathVariableName}/server/all/lib/jplpatternjar ${classPathVariableName}/server/all/lib/jssejar ${classPathVariableName}/server/all/lib/jbosshajar ${classPathVariableName}/server/all/lib/jbossjaasjar ${classPathVariableName}/server/all/lib/jtsjar ${classPathVariableName}/server/all/lib/jbosstransactionjar ${classPathVariableName}/server/all/lib/javagroupsjar ${classPathVariableName}/server/all/lib/jmxrijar ${classPathVariableName}/server/all/lib/jmxtoolsjar ${classPathVariableName}/server/all/lib/jbossmxjar ${classPathVariableName}/client/jbossjeejar ${classPathVariableName}/client/jnpclientjar ${classPathVariableName}/client/jbossclientjar ${classPathVariableName}/client/jbosscommonclientjar ${classPathVariableName}/client/jbosssxclientjar ${classPathVariableName}/client/logjjar ${classPathVariableName}/client/jnetjar ${classPathVariableName}/client/jaasjar
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28591.html