2011-10-14 28 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使用它就像那样)。 –