2011-10-14 27 views
0

我很新的這一點,所以有一個很好的機會,我做錯了什麼,但我只是想建立與寫作一些使用JBoss 5.1的JSP。我寫的JSP頁面(很基本的,只是一些HTML輸出的一點點,以確保實際上是被處理的JSP),然後我嘗試建立戰爭和熱部署用下面的命令:的JBoss 5.1顯示「無法處理的變化」時熱部署WAR

jar -cvf jsptests.war *.jsp WEB-INF 
copy jsptests.war "%JBOSS_HOME%\server\default\deploy" 

如果我這樣做,而不必JBoss上運行,那麼它會複製到部署文件夾,我啓動JBoss後,它會出現,但是,如果我做同樣的事情,而運行JBoss我看到下面的錯誤在控制檯:

WARN [org.jboss.system.server.profileservice.hotdeploy.HDScanner] (HDScanner) Failed to process changes 
java.lang.RuntimeException: Error while adding re-deployments 

我見過幾個人遇到這個在其他一些論壇,但還沒有找到答案的任何地方。謝謝。

回答

1

這happends當文件沒有被完全複製,但JBoss的熱部署掃描儀看到一個.war文件,並有嘗試讀取it.One方式做解決這個就是移動/重命名文件,而不是將其複製爲操作是在大多數操作系統上的原子(即JBoss會不能夠「看到」它,直到操作完成,因此它不會讀取uncomplete文件)

+0

感謝。我嘗試過,但我仍然看到警告。 – nerdabilly

+0

此外,它似乎有時會起作用,但在瀏覽器中查看時,生成的頁面並未反映我的更改。 – nerdabilly

+0

這通常意味着hotdeploy不起作用。我建議做的事情是讓繁重的JBoss AS用於生產部署,並且只需使用更輕,更快的應用程序服務器進行開發期間的熱部署,如碼頭。 Jetty可以很容易地配置爲在您鍵入時更改代碼更改,因此您可以立即看到修改(GWT使用它就像那樣)。 –