Jboss7.1遇到的坑相关总结
- Jboss的包是jboss-as-7.1.1.Final.zip
- Jboss7.1与JDK1.8是不兼容的,如果服务器安装的是JDK1.8,那么你需要将JDK换成1.8以下的,可以是1.7的。
当然如果你不想将安装好的JDK卸载掉,也可以使用记事本进入到Jboss的安装目录下,找到bin目录下的文件
standalone.bat或者standalone.sh(这个取决于你是linux还是windows),打开文件后找到java_home变量设置
它的值为你jdk1.7的安装路径,(前提是你的jboss环境变量配置正确,JBOSS_HOME你的jboss路径path,加
%jboss_home%\bin)。 - 谷歌jar导致角标越界问题:
解决办法:
将这个jar包的版本换掉:
- 如何修改Jboss服务的端口
- 如何使jboss7.1可以让其他客户机进行访问(下面的两个都可以):
- 在部署项目的时候可以使用文件夹的方式部署
a:例如我们的工程文件夹为app.war
b:在同级路径下新建一个文件app.war.dodeploy
c:修改配置文件:standalone.xml:
更改standalone.xml文件的deployment-scanner元素,增加auto-deploy-exploded="true",
改为 <deployment-scanner path="deployments" relative-to="jboss.server.base.dir" scan-interval="5000"
auto-deploy-exploded="true"/>
d:最后启动项目即可,但是在项目中遇到过遇到过一个问题
当使用文件夹部署的时候,使用MQ发送消息或者接受消息时整个项目会重新启动,
这个是standalone.xml文件中的配置导致的,需要将auto-deploy-exploded改为false.
e:所以还是建议直接使用war包的方式进行部署。 - Jboss在服务器部署时没有启动成功:出现如下错误,在Jboss日志中发现的错误:
JBAS015052: Did not receive a response to the deployment operation within the allowed timeout period [60 seconds]. Check the server configuration file and the server logs to find more about the status of the deployment
原因:大概看出是超时的问题,解决办法,修改standalone.xml 的配置
- 启动Jboss加载XML文件时的错误
XML document structures must start and end within the same entity.
注意:这就是个大坑,我们在tomcat上启动都是可以的,但是在Jboss上搞死启动不了,一直出现这个问题,
我的是一个hbm.xml的一个hiberate配置文件出现的问题。
出现这个错误,可能有三种情况:
a:xml文件中的注释格式有问题,把注释删了重新抒写
b:xml的编码跟工程不一样,有乱码,检查一下eclipse中所有的编码是否统一为utf-8
c:在xml中我们经常会使用注释,<!-- -->注释可能会报错,还有一种说法是注释横杠间要留空格。
那么请你最好将注释删除掉,还有就是最后不要存在空行,比如,xml里面的内容写了20行,
你最后一行是一个空行,什么都没有,也可能会导致出错。 - 最后一个坑,就是我们在部署ssh项目的时候,可能会自定义struts.xml的路径,但是在Jboss中却一直启动不了,
最后将struts.xml文件放到src目录下即可 - Jboss相关部署命令以及操作
⑴:停止服务
进入Jboss安装目录的bin目录下: cd /home/jboss/jboss-as-7.1.1.Final/bin
执行命令:./jboss-cli.sh --connect --command=:shutdown
或者通过直接杀进程的方式进行:kill -9 PID
⑵发布
a:如果是文件夹的方式
将app.tar 通过FTP方式放置在/home/jboss/jboss-as-7.1.1.Final/standalone/deployment/app.war 文件夹下,
执行命令:
进入部署文件夹下:cd /home/jboss/jboss-as-7.1.1.Final/standalone/deployment/app.war
解压:tar -xvf app.tar
删除tar包: rm -f app.tar 或者 右键delete
b:如果是war包的方式,就直接将war包放在/home/jboss/jboss-as-7.1.1.Final/standalone/deployment/目录下即可。
⑶启动服务的命令
a:进入Jboss的bin目录下
cd /home/jboss/jboss-as-7.1.1.Final/bin
b:执行启动服务的命令
指定nohup.out路径方式:
nohup ./standalone.sh &> /home/ftm/jboss-as-7.1.1.Final/standalone/log/nohup.out 2>&1&
或者 nohup ./standalone.sh &(默认nohup.out日志路径在bin目录下)
⑷查看进程
ps -ax | grep jboss