jboss7的部署方式比较多的,如果使用maven构建和管理项目,那当然是使用jboss-as-maven-plugin插件来部署项目是最方便的了。但我在实现成功部署前却走了不少弯路,耗费了我老长时间了。下面讲一下我的配置经历。
首先讲一下我的实验环境:我的jbossAS7.1.1.Final运行在192.168.0.10的一台linux机器上,standalone模式的,我的开发环境是我的一台Winxp的机器,ip是192.168.0.11。我在本地搞了一个maven项目jboss-javaee6-webapp,这个项目pom中部署配置我改为如下:
org.jboss.as.plugins jboss-as-maven-plugin 7.1.1.Final 192.168.0.10 9999 admin admin123
其中admin和admin123是我在服务器上使用add-user.sh新增的ManagementRealm域用户名和密码。
我启动服务器上的jboss和打开服务器的9999端口后,在开发环境中执行:mvn jboss-as:deploy 命令行却报下面的错误:Could not connect to remote://192.168.0.10:9999. The connection timed out。郁闷无比,搜看了N多篇英文的和中文的关于jboss管理的也没有发现和我的症状相同的情况,但根据http://stackoverflow.com/questions/9231916/jboss-as-maven-plugin-cant-deploy-to-remote-jboss-as-7这个帖子的描述以及他的回复我就认为是jmx没开导致的,比较郁闷的是Junv这个作者在国内的博文http://junv.sinaapp.com/却因故打不开,然后我就闷头围绕着jmx搞来搞去,尤其是我使用windows版的图形界面管理工具jconsole.bat的远程模式时,这个工具居然报远程认证通不过,这让我在错误道路上走的更远。结果搞了近2天的时间也没能远程部署成功,期间我一度怀疑是7.1.1版本下使用windows环境管理linux下的服务可能有问题。
今天我痛恨自己上天涯太浪费时间了,就在工作机上把天涯的网站给映射成127.0.0.2,突然灵光一闪,我何不把远程的主机名也映射一下,结果居然神奇的通了,首先我用jboss-cli.bat试一下:
E:\jboss7.1.1\bin>jboss-cli.bat --connect --controller=hzocs Authenticating against security realm: ManagementRealm Username: admin Password: [standalone@hzocs:9999 /]
成功了,立马我把pom中的部署配置的主机名由地址换为hosts的映射名:
org.jboss.as.plugins jboss-as-maven-plugin 7.1.1.Final hzocs 9999 admin admin123
接着:mvn jboss-as:deploy 和 mvn jboss-as:undeploy 都完美成功。激动中。。。。。
研究中我还发现如果不使用maven管理构建项目,在eclipse也可以远程部署,就是使用eclipse的remote system explorer建一个到远程linux主机的连接,然后在在server中建一个远程的server,然后run on server就行了,但我是不能忍受这个部署的慢悠劲儿。