`
doujiang327
  • 浏览: 66208 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

maven工程在tomcat服务器上的自动化部署(cargo版)

阅读更多

跟maven的tomcat插件相比,cargo插件更专业也更灵活,缺点是配置稍显麻烦。

 

1. 首先你的 web 工程必须是一个 maven 工程。

 

2.修改 tomcat tomcat-users.xml 文件,目录为 conf\tomcat-users.xml ,加入以下内容:

1.<role rolename="manager"/>  
2.<user username="tomcat" password="123456" roles="manager"/> 

 

3. maven 工程的 pom 文件中加入 tomcat-maven-plugin 插件,以下为 pom 代码示例:

    此示例代码为existing方式的本地部署,其它部署方式及远程部署,请参见附件文档。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.malangmedia</groupId>
  <artifactId>malangmedia.cargoDeployToLocalTomcat</artifactId>
  <version>1.0.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <name>cargoDeployToLocalTomcat</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <finalName>autoCargo</finalName>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  
  <build>
	<!-- 设置war包名称 -->  
	<finalName>${finalName}</finalName>

	<plugins>
	
		<!-- cargo自动部署插件 -->
		<plugin>
  			<groupId>org.codehaus.cargo</groupId>
  			<artifactId>cargo-maven2-plugin</artifactId>
  			<version>1.0</version>
  			<configuration>
  				<!-- 要部署的容器类型、版本及地址 -->
  				<container>
  					<containerId>tomcat6x</containerId>
  					<home>E:\apache-tomcat-6.0.30</home>
  				</container>
  				<!-- 本地部署的模式及新服务器地址和端口号 -->
  				<configuration>
  					<!--<type>standalone</type>
  					<home>F:\apache-tomcat-6.0.30</home>
  					<properties>
  						<cargo.servlet.port>8085</cargo.servlet.port>
  					</properties>-->
  					<type>existing</type>
  					<home>E:\apache-tomcat-6.0.30</home>
  				</configuration>
  			</configuration>
		</plugin>

	</plugins>
  </build>
</project> 

 

4.将该工程导入 SVN

 

 

5. hudson 中为该 SVN 地址新建一个工程,在配置 maven 运行命令时,在 install 命令后,加入一个 tomcat 部署

的命令。

Install 在前,cargo :start 在后,顺序不能错,这样才能保证 install 成功后再部署。

 

 

6. 如此,每当 SVN 版本更新后, hudson 就会自动编译该工程,编译成功后,再通过 tomcat-maven-plugin 插件自动部署至指定 tomcat 服务器,且该部署为热部署,服务器不需要重启,并支持远程部署。

分享到:
评论

相关推荐

    maven cargo自动化部署tomcat7.pdf

    当我们谈论在Maven下使用Cargo实现自动化部署到Tomcat7服务器时,我们主要涉及以下几个知识点: 1. Maven的配置和使用: Maven是一个项目管理工具,主要用于Java项目。它使用了一种名为POM(Project Object Model...

    maven-tomcat自动部署

    当我们谈论"Maven-Tomcat自动部署"时,我们指的是使用Maven来自动化Tomcat服务器上的应用部署过程。 首先,让我们深入理解Maven的核心功能。Maven通过使用一个统一的项目对象模型(Project Object Model,POM)来...

    使用Maven Cargo 插件管理Tomcat6的部署

    Cargo与Maven结合使用,可以实现自动化部署流程,极大地提高了开发效率。 要使用Maven Cargo插件,我们需要在项目的`pom.xml`文件中添加插件配置。以下是一个基本的配置示例: ```xml ... ... &lt;groupId&gt;...

    tomcat7,8,maven

    - **maven-tomcat-plugin**:使用Maven的Tomcat插件可以直接在开发环境中部署应用到本地Tomcat服务器,简化部署流程。 - **Cargo插件**:Cargo提供更灵活的容器管理,包括远程部署到生产环境的Tomcat服务器。 5. ...

    Cargo实现自动化部署

    使用cargo-maven2-plugin插件配置Tomcat本地自动发布 .

    cargo远程部署web项目资料

    通过这份"cargo远程部署web项目资料",你可以学习到如何利用Cargo和Maven实现远程Web项目的自动化部署,提升开发效率,同时理解自动化部署在现代软件工程中的重要性。请参考提供的资料,结合实际项目需求进行配置和...

    maven架构工程

    Cargo是一款Maven插件,用于自动化Web应用的部署和管理。它可以与多种应用服务器(如Tomcat、Jetty等)集成,支持启动、停止、部署、undeploy等操作。在多WAR部署场景下,Cargo能帮助我们便捷地管理和控制每个WAR在...

    maven_web.txt

    2. **`cargo-maven2-plugin` 插件**: 这是整个配置的核心,用于自动化地启动并部署Web应用到Tomcat服务器上。 - **`groupId`**: 指定插件的主键ID,这里是`org.codehaus.cargo`。 - **`artifactId`**: 指定插件的...

    201205_Maven学习笔记1.rar

    3. [20120524]maven发布web项目到jetty和cargo部署到tomcat.doc:这份文档可能会讲解如何使用Maven插件(如Jetty Maven Plugin和Cargo Maven Plugin)自动化部署Web应用程序到Jetty或Tomcat服务器。Maven插件扩展了...

    java热部署工具

    6. **Maven插件**: Maven的Cargo插件也可以用于自动化JBoss的部署,包括热部署。开发者可以在构建脚本中配置Cargo,使其在编译完成后自动部署到JBoss服务器。 热部署虽然带来了便利,但也需要注意一些潜在问题,...

    deploy.rar

    Cargo通过API或者命令行工具可以进行容器的安装、启动、停止、配置以及部署应用等一系列操作,使得开发者可以方便地对应用服务器进行自动化管理。 在Java项目中,编译完成后通常会产生War文件(Web应用程序)或Jar...

    gradle-cargo-plugin:Gradle插件,可通过Cargo为本地和远程容器提供部署功能

    Cargo是一款非常实用的Java应用部署工具,支持多种应用服务器,如Tomcat、Jetty、JBoss等。通过Gradle Cargo Plugin,你可以将Cargo的功能无缝地集成到Gradle的构建流程中,极大地提升了开发和运维的效率。 ### 1. ...

    Java Power Tools

    通过Cargo,开发者可以轻松地将应用部署到Tomcat、Jetty等主流应用服务器上。 **2.16/17 在Eclipse/NetBeans中使用Maven** Maven与Eclipse和NetBeans等IDE紧密集成,开发者可以在IDE内直接使用Maven进行构建、测试...

    bartontools:bartontools.dpb.carnegiescience.edu JavaTomcat Web应用程序

    Cargo可以与Gradle结合使用,实现将"巴顿工具"自动部署到Tomcat服务器上。Tomcat是一个广泛使用的开源Java应用服务器,专门支持运行Java Servlet和JavaServer Pages(JSP)。通过Cargo,开发者可以在本地或远程的...

    Appfuse的Ant任务列表

    它基于Maven和Ant构建系统,提供了丰富的自动化构建任务,涵盖了从项目初始化到部署的整个开发流程。本文将详细解析Appfuse的Ant任务列表,帮助开发者更好地理解和利用这些任务。 #### 构建与清理 - **bin**:此...

Global site tag (gtag.js) - Google Analytics