用Maven打包成EAR远程部署JBoss(一)讲了如何使用Maven打包,可是在文章的最后也留下了一个问题,那就是如何将包部署到远程的JBoss中呢?近期在对之前的学习进行总结,发现少了这样一篇重要的博客没有写……
远程部署,所用到的插件叫做:Cargo。这里我是以Maven插件形式使用的,这样就能够实现使用Maven从编译、打包、部署一条龙服务了。
我当时的学习资料非常easy,就是官网。就是通过一次重新这种学习,让我更加坚定了:学习最好的资料就是官网提供的文档。可是,在我们最最刚開始的阶段,不是通过视频,而是通过文档来学习,又是那么的不现实。由于我们根本没有心情去将那些天文数字一样的东西看完,又怎么谈得上理解呢?所以在这里祝福你高速到达文档学习的阶段,真的要比视频学习高效。
好了,如今咱们来看下如何部署吧,事实上非常easy:
我们在往JBoss部署的时候,事实上都是非常粗暴的往部署文件夹里面丢。可是JBoss是提供了接口,让你通过1099(默认)这个port,进行上传部署的。而这也就是为什么能够使用Cargo实现远程部署,而且具有返回信息的原因。
说到返回信息,在这里多说一句,尽管远程部署弄出来了,因为各方面原因吧,没有使用Cargo进行远程部署。而是使用的bat脚本与Jenkins实现的远程部署。而使用bat脚本,那么你就不可能接到部署后JBoss的返回信息,也就是,在你Jenkins打包,然后运行bat脚本后,就完事了,部署有没有错,你是不知道的。而这个方法的详细实施,能够看下这篇博客:我的jenkins自己主动部署方案演进史。在Jenkins自己主动部署的这个过程中,真心感觉到google比度娘好使,看来大男子主义有时也挺好~~~
到如今还没開始正题,个人觉得:我给大家分享我的成果,并不能帮助你提高多少,重要的是解决这个问题的过程。我列这些技术博客,目的就是让你不用再搜这种博客,由于官网给你带来的不仅仅是解决方法。
以下是我列的一个Cargo插件的配置列表:
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.4.5</version>
<configuration>
<container>
<containerId>jboss51x</containerId>
<type>remote</type>
</container>
<configuration>
<type>runtime</type>
<properties>
<cargo.remote.username>admin</cargo.remote.username>
<cargo.remote.password>admin</cargo.remote.password>
<cargo.hostname>192.168.24.48</cargo.hostname>
<cargo.rmi.port>1099</cargo.rmi.port>
</properties>
</configuration>
</configuration>
<dependencies>
<dependency>
<groupId>org.jboss.integration</groupId>
<artifactId>jboss-profileservice-spi</artifactId>
<version>5.1.0.GA</version>
</dependency>
<dependency>
<groupId>org.jboss.jbossas</groupId>
<artifactId>jboss-as-client</artifactId>
<version>5.1.0.GA</version>
<type>pom</type>
</dependency>
</dependencies>
</plugin>
非常清爽的配置,让你能够完毕远程部署。
以下我给大家分享一下此后碰到的问题:
因为我们是小组开发,大家必然会使用到Maven私服库。我们使用的私服为Nexus,关于这个的搭建我就不列了,想知道如何搭建的,留邮箱并说明要什么。而*仓库使用的是Nexus默认,而这个上面是没有JBoss中Client的包的,后来通过查找,找到了开源中国搭建的一个Maven库,这个里面还是非常全的,在默认*库里没有的,在这里都能够找到。
唯一蛋疼的地就是:将开源中国的Maven库配到Nexus中后,索引能够更新下来,可是当下载jar时,死活就是不down。最后採取的解决方法就是在自己的电脑上clean install一下,然后把jar再手动上传到私服库上。尽管麻烦一点,但想到这种事不会常常发生,所以也就这样过来了。这个问题当时查了一下,也有好些人遇到这个问题,假设谁攻克了这个问题,还望分享~~
最后给大家分享一句话:最让你受益的,往往是那些你非常轻易就能够看到的~