JBoss部署Web Project時(shí)的問題——請(qǐng)刷新
配置:JBoss 4.1.0. GA
JBoss 5.0.0. beta4
JBoss 5.0.0. GA
Eclipse Platform3.4
前面一段時(shí)間在學(xué)Java EE 5,難免會(huì)使用服務(wù)器,我們老師推薦使用JBoss,因?yàn)樗情_源的且免費(fèi)。在使用JBoss中難免遇到好多問題,簡單的問題就是任何部署一個(gè)Web Project,后面就是寫一些Servlet或者EJB了。不過今天我說一下一個(gè)很小的問題,不過有可能會(huì)影響你的工程部署哦。請(qǐng)聽我說。
首先就是安裝JBoss了,相信大家這一步應(yīng)該會(huì)熟悉了,所以我就不說了。安裝JBoss,就會(huì)考慮下載那個(gè)版本的,在這里我會(huì)測試三個(gè)版本的JBoss。(推薦使用JBoss 5.0.0. GA,具體推薦原因就是這個(gè)版本能很好的支持MyEclipse)
安裝過后就是start了,不過你有時(shí)有沒有發(fā)現(xiàn)有時(shí)你啟動(dòng)不了,不是因?yàn)槭裁?,而是時(shí)間超時(shí)了,所以在這里說了小技巧,就是修改JBoss的啟動(dòng)最大時(shí)間,在Servers中雙擊JBoss服務(wù)器,打開配置。在里面會(huì)看到一個(gè)Timeouts,請(qǐng)單擊打開,修改里面的Start的時(shí)間,我選擇150s,你可以根據(jù)你的電腦配置選擇其他。保存。(在執(zhí)行這次操作時(shí)請(qǐng)先關(guān)閉服務(wù)器)
好,現(xiàn)在來說重點(diǎn),就是新建一個(gè)Dynamic Web Project,后面就在里面新建Servlet、EJB或者JSP或者其他….(在新建工程的時(shí)候要記得選擇相應(yīng)的JBoss服務(wù)器)
看看發(fā)現(xiàn)了什么,是不是和我們?cè)贛yEclipse中新建的工程不一樣了。
在WebContent中新建一個(gè)jsp,其中寫一些簡單了(記得要正確哦)
好現(xiàn)在就是部署了,在jsp里選擇Run as –> Run on Servler,就會(huì)部署工程了,第一次的時(shí)候會(huì)重新編譯里面的一些jsp或者其他的文件,并把工程打包成war包放到deploy
上面的jsp你可以打開看看。并且Eclipse會(huì)默認(rèn)打開內(nèi)置的瀏覽器,結(jié)果如下
結(jié)果是正確的。后面就是重點(diǎn)了,就是這個(gè)時(shí)候我要修改的話,大家會(huì)覺得如何,我在部署,發(fā)布,運(yùn)行會(huì)如何?
修改后我在三個(gè)版本的JBoss中測試個(gè),現(xiàn)就測試情況分析一些
1. 在JBoss 4.1.0. GA和JBoss 5.0.0. beta4中
在以上版本中如果修改了工程文件的話在publish或者部署,重啟等都會(huì)報(bào)一個(gè)錯(cuò)誤就是BULID FAILED,說里面的war文件不可以remove,修改。。。
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)
看到了BUILD SUCCESSFUL,是不是很好玩的,這是因?yàn)镴Boss對(duì)x86(windows)系統(tǒng)支持不好,好像網(wǎng)上說在linux中沒有類似的問題。還有說明現(xiàn)在JBoss越來越支持xp了,在GA版本中就沒有剛剛那個(gè)bug了。所以大家如果在寫工程的時(shí)候也要考慮一些版本問題。
好,這是一個(gè)小部分,后面來個(gè)還不理解的部分。
就是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)改變,不過為什么在瀏覽器里就沒有改變,我這個(gè)時(shí)候想到的是不是編譯的test.jsp文件沒有改變
2. 查看編譯后的jsp文件test_jsp,發(fā)現(xiàn)也是已經(jīng)改變
為什么在內(nèi)置瀏覽器中沒有改變
這個(gè)時(shí)候我真的認(rèn)為是內(nèi)置的瀏覽器有問題了,就換用瀏覽器,還是不行,結(jié)果一樣,在這個(gè)時(shí)候我真的好納悶的,上網(wǎng)搜,沒有搜到很確切的解決思路,雖然有相應(yīng)的例子(就是部署后jsp不顯示改變的,一般是錯(cuò)誤啊,或者配置錯(cuò)誤),就沒有我這種情況。
后面真的不知道為什么,按了一個(gè)鍵,就顯示變化后的結(jié)果了。就是上面的刷新按鈕???很是納悶???為什么編譯文件都已經(jīng)改變,還需要瀏覽器刷新???期待朋友們給個(gè)答案或者解釋。謝謝。
不過還是能顯示重新部署后的文件了,我后來也嘗試了Servlet,都是這樣的。所以,請(qǐng)大家一定要注意了,在JBoss使用中,重新修改文件后,部署后顯示結(jié)果沒有改變(還是以前的,說到這,我在之前也刪除了所有的工程文件war,jsp,temp,部署還是不行),這個(gè)時(shí)候你要考慮一下是否要刷新一下瀏覽器,也許就你的一次刷新就解決了所有的問題。
記?。涸贘Boss使用中要記得在改變部署后要記得刷新瀏覽器?。?!
上面的一個(gè)問題如果大家有什么好的解釋或者一個(gè)網(wǎng)站解釋的麻煩發(fā)給我,QQ:506817493,或者直接跟帖,我會(huì)期待你的解釋。謝謝。
木子寫于2009年4月21日
博客中的一些下載已經(jīng)放到了百度云了,請(qǐng)根據(jù)需要下載。【點(diǎn)我去百度云下載】
最后弱弱地說一下,如果可以的話,轉(zhuǎn)載請(qǐng)?zhí)峁┏鎏?
),謝謝。
posted on 2010-01-07 20:56
李順利 閱讀(1038)
評(píng)論(0) 編輯 收藏