使用Maven Cargo 插件进行远程Tomcat6的部署

上一篇 / 下一篇  2012-06-06 17:07:06 / 个人分类:Maven

转帖http://jdonee.iteye.com/blog/774387

一、引言

      朋友,也许你也已经使用Maven有一段时间了,你已得益于Maven优美的管理方式,但是常常因为构建webapp而需手动发布到Tomcat而发愁。当然,你也有想到过通过脚本、FTP或者SSH的方式发布一个的最新WAR快照到Tomcat,对,这么做也不失为一种解决办法。但你也可能会想有没有更优雅的通过Maven插件来做到这一点吗?答案是肯定的,我找到了两个相关的插件-----Tomcat Maven plugin和 Cargo plugin

     我首先试用了Tomcat Maven plugin,但我发现它实际上把项目部署到自己的Tomcat实例,而我想要的通过嵌入式的方式把项目发布到我本地的Tomcat,而不需要一个新的实例,所以我放弃了它。

      所以我回来来找 Cargo plugin,发现它正是我想要的,但是它的帮助文档让我抓狂,去看过的朋友估计和我有一样感同深受。不过,通过看它的文档,也锻炼我的耐心,经过一番周折,我部署成功了,所以我把它们贡献出来,和大家一起分享。

 

二、教程必需条件

      环境:Windows XP SP2及以上

      工具要求:apache-maven-3.0-beta-2、Tomcat6.0.29

      插件要求:cargo-maven2-plugin(Maven)

      本文章将引导你如何通过使用Maven Cargo 插件把一个Web应用程序发布到Tomcat6。Cargo是一个基于标准方式发布Web应用程序到Java EE容器的瘦包装器,它能发布到多种Web服务器,如Geronimo、Glassfish、JBoss、Tomcat、Jetty、WebLogic等。

      Cargo包含如下工具和API:

  •  
    •   启动/停止/配置Java容器和部署模块到Java容器的API。
    •  解析/创建/合并Java EE模块的API。
    •   Ant 任务, Maven 1 Maven 2 插件。
    •   以插件形式集成在Intellij IDEA Netbeans中。

      你可以通过配置您的pom.xml来决定您是否需要本地或者远程部署到您的tomcat服务器。

      我的用例很简单,就是把一个Web项目发布到本地或者远程Tomcat环境。

             下面包含了我本次教程的结构示例(呵呵,不算标准哟,大家自己扩充):

  •  
    • cargosample-parent

      • pom.xml 1
      • cargosample-webapp
        • pom.xml 2
      • cargosample-deployer-local
        • pom.xml 3
      • cargosample-deployer-remote
        • pom.xml 4

 

        1、这是根pom,这里不会做有关于Cargo的操作,但是它包含了所有的子模块和Cargo所要用到的公共属性。

        下面是该文件中关于跟Cargo有关的自定义属性的描述:

Xml代码  收藏代码
  1. <properties>  
  2.         <org.springframework.version>3.0.3.RELEASE</org.springframework.version>  
  3.         <org.slf4j.version>1.5.10</org.slf4j.version>  
  4.         <!-- 跟Cargo发布项目相关-->  
  5.         <myproject.name>cargosample</myproject.name>  
  6.         <cargo.project.groupid>${project.groupId}</cargo.project.groupid>  
  7.         <cargo.project.artifactid>cargosample-webapp</cargo.project.artifactid>  
  8.         <!--可单独提取并配置到profiles文件来激活 -->  
  9.         <catalina.home>${env.CATLINA_HOME}</catalina.home><!--D:\hudson_ci\hudson_dep_tools\Tomcat6.0-->  
  10.         <cargo.tomcat.manager.protocol>http</cargo.tomcat.manager.protocol>  
  11.         <cargo.tomcat.manager.hostname>127.0.0.1</cargo.tomcat.manager.hostname>  
  12.         <cargo.tomcat.manager.port>8080</cargo.tomcat.manager.port>  
  13.         <cargo.tomcat.manager.ajp.port>8009</cargo.tomcat.manager.ajp.port>  
  14.         <cargo.tomcat.manager.username>admin</cargo.tomcat.manager.username>  
  15.         <cargo.tomcat.manager.password>1234</cargo.tomcat.manager.password>  
  16.  </properties>  
 

 

 

            2、这个pom包含web应用模块的描述和依赖关系

       3、这个pom包含发布项目到本地Tomcat,是本实例的重点之一。

       4、这个pom包含发布项目到远程Tomcat。

值得一提注意的是,本次示例我使用的是同一个Tomcat来让Cargo模拟本地和远程两种方式来发布war。

因为我们需要部署sample-webapp的快照,把它作为以Cargo方式部署必需的依赖。所以我们在3和4中间都首先要添加对它的依赖。

 

Xml代码  收藏代码
  1. <dependencies>  
  2.     <dependency>  
  3.         <groupId>org.jdonee.cargosample</groupId>  
  4.         <artifactId>cargosample-webapp</artifactId>  
  5.         <version>0.0.1-SNAPSHOT</version>  
  6.         <type>war</type>  
  7.     </dependency>  
  8.   </dependencies>  
 

 

 

三、部署项目到本地环境

接下来是在<build>节点下配置Cargo:

1)首先配置的是<container>节点,详细描述如下:

  

 

Xml代码  收藏代码
  1. <configuration>  
  2.                     <wait>true</wait>  
  3.                     <!--以下标记将详细描述你想要部署的容器-->  
  4.                     <container>  
  5.                         <!--   
  6.                         指定"tomcat6x"这个名称非常的重要!因为它是Cargo中一个完整的标识符,如果你把"x"去掉的话,  
  7.                         而只用"tomcat6"的话,它就不能在Tomcat 6.x下正常工作.   
  8.                         -->  
  9.                         <containerId>tomcat6x</containerId>  
  10.                         <type>installed</type><!-- 本地已安装Tomcat时设置 -->  
  11.                         <home>${catalina.home}</home><!--本地Tomcat安装目录 -->  
  12.                     </container>  
 

 

2)接下来配置容器的属性,详细描述如下:

     

 

Xml代码 

TAG: Cargoplugin maven Maven Maven插件 远程部署

 

评分:0

我来说两句

日历

« 2024-04-23  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 9453
  • 日志数: 12
  • 建立时间: 2011-03-08
  • 更新时间: 2012-06-06

RSS订阅

Open Toolbar