李顺利
随笔-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,难免会使用服务器,我们老师推荐使用JBoss,因为它是开源的且免费。在使用JBoss中难免遇到好多问题,简单的问题就是任何部署一个Web Project,后面就是写一些Servlet或者EJB了。不过今天我说一下一个很小的问题,不过有可能会影响你的工程部署哦。请听我说。

首先就是安装JBoss了,相信大家这一步应该会熟悉了,所以我就不说了。安装JBoss,就会考虑下载那个版本的,在这里我会测试三个版本的JBoss。(推荐使用JBoss 5.0.0. GA,具体推荐原因就是这个版本能很好的支持MyEclipse)

安装过后就是start了,不过你有时有没有发现有时你启动不了,不是因为什么,而是时间超时了,所以在这里说了小技巧,就是修改JBoss的启动最大时间,在Servers中双击JBoss服务器,打开配置。在里面会看到一个Timeouts,请单击打开,修改里面的Start的时间,我选择150s,你可以根据你的电脑配置选择其他。保存。(在执行这次操作时请先关闭服务器)

clip_image002

好,现在来说重点,就是新建一个Dynamic Web Project,后面就在里面新建Servlet、EJB或者JSP或者其他….(在新建工程的时候要记得选择相应的JBoss服务器)

clip_image004

看看发现了什么,是不是和我们在MyEclipse中新建的工程不一样了。

在WebContent中新建一个jsp,其中写一些简单了(记得要正确哦)

好现在就是部署了,在jsp里选择Run as –> Run on Servler,就会部署工程了,第一次的时候会重新编译里面的一些jsp或者其他的文件,并把工程打包成war包放到deploy

clip_image006

clip_image008

上面的jsp你可以打开看看。并且Eclipse会默认打开内置的浏览器,结果如下

clip_image010

结果是正确的。后面就是重点了,就是这个时候我要修改的话,大家会觉得如何,我在部署,发布,运行会如何?

修改后我在三个版本的JBoss中测试个,现就测试情况分析一些

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

上网搜了一下,大致是说

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)系统支持不好,好像网上说在linux中没有类似的问题。还有说明现在JBoss越来越支持xp了,在GA版本中就没有刚刚那个bug了。所以大家如果在写工程的时候也要考虑一些版本问题。

好,这是一个小部分,后面来个还不理解的部分。

就是JSP不能显示修改后的内容。上面已经说了虽然BUILD已经成功,不过打开的JSP页面还是以前的(没有修改),很是纳闷。我就查看deploy的文件,发现了更好玩的

1. 找到deploy的工程文件(test.war),解压后打开文件夹,并打开test.jsp文件,发现内容已经改变,不过为什么在浏览器里就没有改变,我这个时候想到的是不是编译的test.jsp文件没有改变

clip_image015

2. 查看编译后的jsp文件test_jsp,发现也是已经改变clip_image017

为什么在内置浏览器中没有改变

clip_image019

这个时候我真的认为是内置的浏览器有问题了,就换用浏览器,还是不行,结果一样,在这个时候我真的好纳闷的,上网搜,没有搜到很确切的解决思路,虽然有相应的例子(就是部署后jsp不显示改变的,一般是错误啊,或者配置错误),就没有我这种情况。

后面真的不知道为什么,按了一个键,就显示变化后的结果了。就是上面的刷新按钮???很是纳闷???为什么编译文件都已经改变,还需要浏览器刷新???期待朋友们给个答案或者解释。谢谢。

clip_image021

不过还是能显示重新部署后的文件了,我后来也尝试了Servlet,都是这样的。所以,请大家一定要注意了,在JBoss使用中,重新修改文件后,部署后显示结果没有改变(还是以前的,说到这,我在之前也删除了所有的工程文件war,jsp,temp,部署还是不行),这个时候你要考虑一下是否要刷新一下浏览器,也许就你的一次刷新就解决了所有的问题。

记住:在JBoss使用中要记得在改变部署后要记得刷新浏览器!!!

上面的一个问题如果大家有什么好的解释或者一个网站解释的麻烦发给我,QQ:506817493,或者直接跟帖,我会期待你的解释。谢谢。

木子写于2009年4月21日

博客中的一些下载已经放到了百度云了,请根据需要下载。【点我去百度云下载】

最后弱弱地说一下,如果可以的话,转载请提供出处( ),谢谢。

posted on 2010-01-07 20:56 李顺利 阅读(1034) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: