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