李順利
          隨筆-50  評論-170  文章-0  trackbacks-0

          JBoss部署Web Project時的問題——請刷新

          配置:JBoss 4.1.0. GA

          JBoss 5.0.0. beta4

          JBoss 5.0.0. GA

          Eclipse Platform3.4

          前面一段時間在學Java EE 5,難免會使用服務(wù)器,我們老師推薦使用JBoss,因為它是開源的且免費。在使用JBoss中難免遇到好多問題,簡單的問題就是任何部署一個Web Project,后面就是寫一些Servlet或者EJB了。不過今天我說一下一個很小的問題,不過有可能會影響你的工程部署哦。請聽我說。

          首先就是安裝JBoss了,相信大家這一步應(yīng)該會熟悉了,所以我就不說了。安裝JBoss,就會考慮下載那個版本的,在這里我會測試三個版本的JBoss。(推薦使用JBoss 5.0.0. GA,具體推薦原因就是這個版本能很好的支持MyEclipse)

          安裝過后就是start了,不過你有時有沒有發(fā)現(xiàn)有時你啟動不了,不是因為什么,而是時間超時了,所以在這里說了小技巧,就是修改JBoss的啟動最大時間,在Servers中雙擊JBoss服務(wù)器,打開配置。在里面會看到一個Timeouts,請單擊打開,修改里面的Start的時間,我選擇150s,你可以根據(jù)你的電腦配置選擇其他。保存。(在執(zhí)行這次操作時請先關(guān)閉服務(wù)器)

          clip_image002

          好,現(xiàn)在來說重點,就是新建一個Dynamic Web Project,后面就在里面新建Servlet、EJB或者JSP或者其他….(在新建工程的時候要記得選擇相應(yīng)的JBoss服務(wù)器)

          clip_image004

          看看發(fā)現(xiàn)了什么,是不是和我們在MyEclipse中新建的工程不一樣了。

          在WebContent中新建一個jsp,其中寫一些簡單了(記得要正確哦)

          好現(xiàn)在就是部署了,在jsp里選擇Run as –> Run on Servler,就會部署工程了,第一次的時候會重新編譯里面的一些jsp或者其他的文件,并把工程打包成war包放到deploy

          clip_image006

          clip_image008

          上面的jsp你可以打開看看。并且Eclipse會默認打開內(nèi)置的瀏覽器,結(jié)果如下

          clip_image010

          結(jié)果是正確的。后面就是重點了,就是這個時候我要修改的話,大家會覺得如何,我在部署,發(fā)布,運行會如何?

          修改后我在三個版本的JBoss中測試個,現(xiàn)就測試情況分析一些

          1. 在JBoss 4.1.0. GA和JBoss 5.0.0. beta4中

          在以上版本中如果修改了工程文件的話在publish或者部署,重啟等都會報一個錯誤就是BULID FAILED,說里面的war文件不可以remove,修改。。。

          clip_image011

          BUILD FAILED

          D:\eclipse\plugins\org.eclipse.jst.server.generic.jboss_1.5.206.v20090115\buildfiles\jboss323.xml:12: Unable to remove existing file \server\default\deploy\test.war

          上網(wǎng)搜了一下,大致是說

          a. this is a known issue with 5.0.0.beta4 - it tends to lock the files in Windows. This is an issue with the new virtual file system (VFS).

          b. Try this:

          1) Go to http://localhost:8080/jmx-console

          2) Search for service=MainDeployer and click on that link

          3) On the page that comes up, look for the "redeploy" method which accepts a java.lang.String. In the textbox, pass this string file:///C:/JBoss/jboss-5.0.0.Beta4/server/default/deploy/StudentEAR.ear and click on the "Invoke" button.

          2. 在JBoss 5.0.0. GA 及更高的版本(利于JBoss 5.0.1. GA)

          clip_image013

          看到了BUILD SUCCESSFUL,是不是很好玩的,這是因為JBoss對x86(windows)系統(tǒng)支持不好,好像網(wǎng)上說在linux中沒有類似的問題。還有說明現(xiàn)在JBoss越來越支持xp了,在GA版本中就沒有剛剛那個bug了。所以大家如果在寫工程的時候也要考慮一些版本問題。

          好,這是一個小部分,后面來個還不理解的部分。

          就是JSP不能顯示修改后的內(nèi)容。上面已經(jīng)說了雖然BUILD已經(jīng)成功,不過打開的JSP頁面還是以前的(沒有修改),很是納悶。我就查看deploy的文件,發(fā)現(xiàn)了更好玩的

          1. 找到deploy的工程文件(test.war),解壓后打開文件夾,并打開test.jsp文件,發(fā)現(xiàn)內(nèi)容已經(jīng)改變,不過為什么在瀏覽器里就沒有改變,我這個時候想到的是不是編譯的test.jsp文件沒有改變

          clip_image015

          2. 查看編譯后的jsp文件test_jsp,發(fā)現(xiàn)也是已經(jīng)改變clip_image017

          為什么在內(nèi)置瀏覽器中沒有改變

          clip_image019

          這個時候我真的認為是內(nèi)置的瀏覽器有問題了,就換用瀏覽器,還是不行,結(jié)果一樣,在這個時候我真的好納悶的,上網(wǎng)搜,沒有搜到很確切的解決思路,雖然有相應(yīng)的例子(就是部署后jsp不顯示改變的,一般是錯誤啊,或者配置錯誤),就沒有我這種情況。

          后面真的不知道為什么,按了一個鍵,就顯示變化后的結(jié)果了。就是上面的刷新按鈕???很是納悶???為什么編譯文件都已經(jīng)改變,還需要瀏覽器刷新???期待朋友們給個答案或者解釋。謝謝。

          clip_image021

          不過還是能顯示重新部署后的文件了,我后來也嘗試了Servlet,都是這樣的。所以,請大家一定要注意了,在JBoss使用中,重新修改文件后,部署后顯示結(jié)果沒有改變(還是以前的,說到這,我在之前也刪除了所有的工程文件war,jsp,temp,部署還是不行),這個時候你要考慮一下是否要刷新一下瀏覽器,也許就你的一次刷新就解決了所有的問題。

          記住:在JBoss使用中要記得在改變部署后要記得刷新瀏覽器!!!

          上面的一個問題如果大家有什么好的解釋或者一個網(wǎng)站解釋的麻煩發(fā)給我,QQ:506817493,或者直接跟帖,我會期待你的解釋。謝謝。

          木子寫于2009年4月21日

          博客中的一些下載已經(jīng)放到了百度云了,請根據(jù)需要下載。【點我去百度云下載】

          最后弱弱地說一下,如果可以的話,轉(zhuǎn)載請?zhí)峁┏鎏? ),謝謝。

          posted on 2010-01-07 20:56 李順利 閱讀(1039) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 麻城市| 建阳市| 株洲市| 东乡| 康乐县| 剑阁县| 松原市| 天柱县| 黑龙江省| 武功县| 青龙| 哈尔滨市| 什邡市| 天柱县| 兴业县| 德江县| 房产| 工布江达县| 福建省| 北宁市| 宜兰市| 拜城县| 湘潭县| 介休市| 泾阳县| 涡阳县| 阿拉善盟| 甘孜县| 宣化县| 雷波县| 神池县| 兴国县| 子洲县| 镇赉县| 瑞金市| 宁津县| 昌图县| 泰兴市| 南川市| 通海县| 德江县|