[使用心得]maven2之m2eclipse使用手册之七通用容器插件cargo-maven2-plugin
这篇将是最后一篇了本来是打算介绍jboss插件的发现使用该插件则可以运行目前主流所有服务器(以下统称容器),关于m2eclipse中使用插件的介绍,maven2作为一个强大的项目管理,其功能非常之多,我不能逐个逐个去介绍,只是把几个主要的功能简单介绍下,话不多说了,这次带来的一个容器的通用插件cargo-maven2-plugin,这插件可以兼容所有目前主流的服务器如jboss、tomcat、glassfish、jetty等,本章讲以jboss作为介绍,如果想了解其他服务器应用可以到以下网址参考下如何配置:
这次只是做一个简单的helloworld介绍,由于之前的ssh2项目中采用了hibernate3.5.2的注解形式会导致jboss内部运行错误,所以这次只是以一个简单的webapp作为介绍.使用m2eclipse向导穿件一个Javaee5的webapp即可.如果不懂如何创建的话请看:
[使用心得]maven2之m2eclipse使用手册之六使用Maven2插件创建一个简单的SSH2项目之jetty篇(一)
使用cargo-maven2-plugin必须要求你本地已经存在一个容器或者一个可以通过网上下载的压缩包的地址,对于使用jboss容器来说 pom.xml的配置如下:
<plugin> <groupId>org.codehaus.cargo</groupId> <artifactId>cargo-maven2-plugin</artifactId> <version>1.0.2</version> <configuration> <container> <containerId>jboss51x</containerId> <home>E:\JavaWorkingTools\JBoss\jboss-5.1.0.GA</home> <log>${project.build.directory}/logs/jboss51x.log</log> <output>${project.build.directory}/logs/jboss51x.out</output> <timeout>300000</timeout> <!-- 5 minutes --> </container> <configuration> <type>existing</type> <home>E:\JavaWorkingTools\JBoss\jboss-5.1.0.GA\server\default\</home> <properties> <cargo.servlet.port>8080</cargo.servlet.port> <cargo.jboss.configuration>default</cargo.jboss.configuration> <cargo.rmi.port>1099</cargo.rmi.port> <cargo.logging>high</cargo.logging> </properties> </configuration> <deployer> <!-- <type>installed</type> --> <deployables> <deployable> <groupId>${project.groupId}</groupId> <artifactId>${project.artifactId}</artifactId> <type>war</type> <location>${project.build.directory}/${project.build.finalName}.${project.packaging}</location> </deployable> </deployables> </deployer> </configuration> </plugin>
标签说明:
在第一个<configuration>标签中是对该插件的所选择的容器进行配置
<container>:容器
<containerId>容器的Id如果你是使用jboss5.1的话就则Id为jboss51x,5.0的话则jboss5x 其余如此类推由容器名字+版本号+小版本号(如果有)+x组成的容器Id
第一个<home>是容器的安装目录或者你可以选择使用
<zipUrlInstaller>标签,对于 <zipUrlInstaller>用法如下:
<zipUrlInstaller> <url>http://www.caucho.com/download/resin-3.0.9.zip</url> <installDir>${basedir}/target/install</installDir> </zipUrlInstaller>
<url>则是容器的下载地址,要求为zip的版本
<installDir>是你需要安装到的目录,因为插件会把下载好的容器然后自动解压保存到安装目录下
<log>:Cargo的工作日志
<output>:容器的工作日志
<timeout>:超时时间
第二个<configuration>标签是针对当前项目与对所配置的容器进行设置
<type>类型,可以选择的有standalone, existing,runtime
第二个<home>:需要将当前项目发布到指定的文件夹,如果是jboss的话需要该文件夹内有字文件夹deploy
<properties>:对Cargo插件的配置
<cargo.servlet.port>:访问的端口
<cargo.jboss.configuration>:对jboss的配置有all与default两种,默认default
<deployer>:部署者,需要把本项目的组id等信息加入到里面
<deployables>:可进行多个部署的项目,可以将多个项目同时在一起发布部署,每个新项目为一个<deployable>标签.
<deployable>:可部署的项目,把对应的maven2项目的<groupId>,<artifactId>,<type>输入则可以,<location>(可选),如果本地已经存在该项目可以加入这个
对于更多的标签用法请查看:
Reference Guide,Jboss5.1.x
对于cargo-maven2-plugin插件的命令这里只是介绍两个常用的,其余的可以参考以下地址:
对于不会使用m2eclipse运行maven2的命令的可以请看
[使用心得]maven2之m2eclipse使用手册之六使用Maven2插件创建一个简单的SSH2项目之jetty篇(三)
cargo:start:一看就知道这个是运行容器的命令,使用命令后会根据home的容器地址或者zipUrlInstaller里面的下载地址,进行运行或者下载安装后运行.运行后如图1
输入http://localhost:8080/后会看到如图2的界面,如果看到的话则证明运行成功了
cargo:deployer-deploy (aliased tocargo:deploy):发布<deployables>标签中所有的项目到指定的目录中,如果容器正在运行的话则根据当前容器的特性进行热部署等其操作.
发布成功的时候会出现如图3的内容
输入http://localhost:8080/helloworldwebapp/出现如图4:
关于该通用容器插件的基本入门就到此结束.