用Maven打包成EAR远程部署JBoss(一)讲了怎样使用Maven打包,但是在文章的最后也留下了一个问题,那就是怎样将包部署到远程的JBoss中呢?最近在对之前的学习进行总结,发现少了这样一篇重要的博客没有写……
远程部署,所用到的插件叫做:Cargo。这里我是以Maven插件形式使用的,这样就可以实现使用Maven从编译、打包、部署一条龙服务了。
我当时的学习资料很简单,就是官网。就是通过一次又一次这样的学习,让我更加坚定了:学习最好的资料就是官网提供的文档。但是,在我们最最刚开始的阶段,不是通过视频,而是通过文档来学习,又是那么的不现实。因为我们根本没有心情去将那些天文数字一样的东西看完,又怎么谈得上理解呢?所以在这里祝福你快速到达文档学习的阶段,真的要比视频学习高效。
好了,现在咱们来看下怎样部署吧,其实很简单:
我们在往JBoss部署的时候,其实都是很粗暴的往部署目录里面丢。但是JBoss是提供了接口,让你通过1099(默认)这个端口,进行上传部署的。而这也就是为什么可以使用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再手动上传到私服库上。虽然麻烦一点,但想到这样的事不会经常发生,所以也就这样过来了。这个问题当时查了一下,也有好些人遇到这个问题,如果谁解决了这个问题,还望分享~~
最后给大家分享一句话:最让你受益的,往往是那些你很轻易就可以看到的~