欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用jboss-as-maven-plugin进行远程部署 博客分类: Jboss7maven jboss-as-maven-pluginjboss远程部署 

程序员文章站 2024-03-13 11:13:57
...

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中部署配置我改为如下:

<plugin> 
   <groupId>org.jboss.as.plugins</groupId> 
   <artifactId>jboss-as-maven-plugin</artifactId> 
   <version>7.1.1.Final</version> 
   <configuration> 
      <hostname>192.168.0.10</hostname> 
      <port>9999</port> 
      <username>admin</username> 
      <password>admin123</password> 
   </configuration> 
</plugin>

    其中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://*.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的映射名:

<plugin> 
   <groupId>org.jboss.as.plugins</groupId> 
   <artifactId>jboss-as-maven-plugin</artifactId> 
   <version>7.1.1.Final</version> 
   <configuration> 
      <hostname>hzocs</hostname> 
      <port>9999</port> 
      <username>admin</username> 
      <password>admin123</password> 
   </configuration> 
</plugin>

 

    接着:mvn jboss-as:deploy 和 mvn jboss-as:undeploy 都完美成功。激动中。。。。。

     研究中我还发现如果不使用maven管理构建项目,在eclipse也可以远程部署,就是使用eclipse的remote system explorer建一个到远程linux主机的连接,然后在在server中建一个远程的server,然后run on server就行了,但我是不能忍受这个部署的慢悠劲儿。