`

使用Maven Cargo 插件管理Tomcat7的远程和本地部署

 
阅读更多
使用Maven Cargo 插件管理Tomcat6的部署原文:http://jdonee.iteye.com/blog/774387
参考文档:
Apache Maven Cargo deploy with Tomcat 7
http://www.waltercedric.com/index.php?option=com_content&view=article&id=1906:&catid=129&Itemid=332


tomcat-users.xml,必须存在admin账户:
<tomcat-users>
	<role rolename="tomcat"/>
	<role rolename="manager"/>	
	<role rolename="manager-script"/>
	<role rolename="manager-status"/>
	<role rolename="manager-jmx"/>	
	<role rolename="manager-gui"/>
	<role rolename="admin"/>
	<role rolename="admin-gui"/> 
	<user username="admin" password="admin" roles="admin,admin-gui,manager,manager-gui,manager-script,manager-status,manager-jmx"/>
</tomcat-users>




tomcat7远程部署: 前提,这个tomcat已经存在并运行。
            <plugin>
                <groupId>org.codehaus.cargo</groupId>
                <artifactId>cargo-maven2-plugin</artifactId>
                <configuration>
                    <container>
                        <containerId>tomcat7x</containerId>
                        <type>remote</type>
                    </container>
                    <configuration>
                        <type>runtime</type>
                        <properties>
                            <cargo.remote.uri>http://xxx.xxx.xxx:8080/manager/text/</cargo.remote.uri>
                            <cargo.remote.username>admin</cargo.remote.username>
                            <cargo.remote.password>admin</cargo.remote.password>
                        </properties>
                    </configuration>
                    <deployables>
                        <deployable>
                            <groupId>xxx</groupId>
                            <artifactId>yyy</artifactId>
                            <type>war</type>
                            <properties>
                                <context>/my_web_context_path</context>
                            </properties>
                        </deployable>
                    </deployables>
                </configuration>
                <executions>
                <!-- 打包的时候顺便部署-->
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <!--<goal>deployer-undeploy</goal>-->
                            <goal>deployer-redeploy</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

deployer是部署时的相关配置,这个context是用来声明工程部署后的上下文,也就是主机地址后面的一级目录位置。这个设置在maven构建中还是很必要的。因为maven默认打出  的war包是工程名+版本号,部署时如果不设置这里的context,那上下文就变成了工程名+版本号的形式。这会使访问变得很不方便。注意,即使你通过修改war插件中的warName也是不能达到这个 目的,因为cargo认定的默认war包名就是工程名+版本号的形式。也可以利用finalName来制定

如果配置了exceutions的话,就是maven的周期(上面是package周期)的时候出发,
命令:mvn package
否则单独运行:
mvn cargo:deployer-undeploy  //如果先存在已经部署的,就先执行这句,卸载掉原先部署的。
mvn cargo:deployer-deploy
或者直接执行
mvn cargo:deployer-redeploy

注意:
<groupId>xxx</groupId>
<artifactId>yyy</artifactId>

这里应该跟pom定义的一致,如果打包得到war的文件不是按照pom的规则来,那么可能会找不到war文件。




本地和远程部署的配置参考,未测试
本地
            <plugin>              
              <groupId>org.codehaus.cargo</groupId>  
              <artifactId>cargo-maven2-plugin</artifactId>  
              <version>1.0.6</version>  
              <configuration>  
                  <container>  
                      <containerId>tomcat6x</containerId>  
                      <home>F:\apache-tomcat-6.0.18</home>  
                  </container>  
                  <configuration>  
                      <type>existing</type>  
                      <home>F:\apache-tomcat-6.0.18</home>  
                  </configuration>  
              </configuration>  
          </plugin>  

             
远程
            <plugin>              
              <groupId>org.codehaus.cargo</groupId>  
              <artifactId>cargo-maven2-plugin</artifactId>  
              <version>1.0.6</version>  
               <configuration>  
                  <container>  
                      <containerId>tomcat6x</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.tomcat.manager.url>  
                        http://172.31.36.214:8080/manager  
                        </cargo.tomcat.manager.url>  
                        </properties>  
                  </configuration>  
              </configuration>  
                

          </plugin>
分享到:
评论

相关推荐

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

    在IT行业中,管理和部署Web应用程序是一项关键任务,而Maven Cargo插件则为开发者提供了一个强大的工具,使得在Tomcat6上部署应用变得更加便捷。Cargo是一个用于自动化服务器和容器管理的Java库,它允许开发者在多种...

    maven cargo自动化部署tomcat7.pdf

    要实现Cargo对Tomcat7的远程部署,需要对Tomcat的conf/tomcat-users.xml文件进行配置。添加具有管理权限的角色(manager、admin等),并创建具有相应角色的用户。这是为了确保当使用Cargo插件远程访问Tomcat服务器...

    Maven使用tomcat8-maven-plugin插件.docx

    Maven 使用 tomcat8-maven-plugin 插件 Maven 是一个流行的构建自动化工具,它可以帮助开发者自动完成项目的编译、测试、打包、部署等任务。...在本文中,我们详细介绍了 tomcat8-maven-plugin 插件的使用方法和优点。

    在Eclipse中Tomcat和Maven插件相互配合进行热部署

    1. **Maven的生命周期**:Maven的`install`目标会把编译后的项目打包并部署到本地仓库,`tomcat7:run`或`tomcat8:run`插件目标可以直接启动Tomcat服务器并部署项目。这样,每当源码发生变化,Maven会自动编译并更新...

    maven 远程部署tomcat

    Maven 远程部署 Tomcat 容器是指使用 Maven 插件将 Java Web 项目自动部署到 Tomcat 容器中,这样可以免去手工拷贝的重复工作。这种方法可以大大提高开发效率和项目部署速度。 Maven 部署 Tomcat 容器的配置 要...

    tomcat_maven远程部署配置文档

    最后,在项目的`pom.xml`文件中添加`tomcat7-maven-plugin`插件,以便于通过Maven命令进行远程部署。 **具体步骤:** 1. **添加插件:** ```xml &lt;groupId&gt;org.apache.tomcat.maven &lt;artifactId&gt;tomcat7-...

    jenkins+maven-tomcat插件自动部署

    Jenkins的默认配置目录位于`/root/.jenkins`,你可以在这里查看和管理所有的配置和插件。在系统设置中,你可以配置Maven、JDK和Git的路径,确保Jenkins能够正确识别和使用这些工具。 接着,我们关注插件管理。...

    tomcat-maven-plugin

    maven-tomcat-plugin让maven与tomcat配合得很好。它可以把应用部署到Tomcat服务器,也可以把tomcat...使用JPDA启动tomcat的远程调试功能。这样就能与eclipse配合起来,轻松地实现调试。而且具有tomcat的热部署功能。

    maven tomcat7改造后插件

    在springMVC 项目中存在两个web项目,一个前台展示系统,一个后台管理系统,前台展示需要用到后台上传的图片,为了能让前台使用,那么就需要给前台tomcat配置静态资源路径,这是需要改造tomcat的插件包, ...

    Maven和Tomcat插件

    Tomcat插件通常指的是`maven-tomcat-plugin`或`tomcat7-maven-plugin`,它允许开发者在Maven构建流程中直接部署应用程序到本地或远程的Tomcat服务器。例如,以下配置可以在打包完成后自动部署到本地Tomcat: ```xml...

    Java项目包 Jenkins+Maven+Gitlab+Tomcat 自动化构建打包、部署

    4. **部署到Tomcat**:构建成功后,Jenkins可以通过使用`deploy`生命周期阶段的Maven目标,如`mvn tomcat7:deploy`,将WAR文件部署到远程Tomcat服务器。也可以编写shell脚本手动完成这个过程,包括停止Tomcat、复制...

    maven自动部署到远程普通tomcat6服务器

    为了能够通过Maven进行远程部署,首先需要对Tomcat6服务器进行相应的配置。 ##### 1. 添加管理员账户 在`/conf/tomcat-users.xml`文件中增加一个具有`manager`权限的角色和用户: ```xml ``` 这里创建了一个名...

    maven 自动发布更新本地和远程仓库

    标题 "maven 自动发布更新本地和远程仓库" 指的是 Maven 的自动化构建和部署功能,这在软件开发过程中非常关键。Maven 是一个Java项目管理工具,它可以帮助开发者管理项目的构建、依赖关系和文档生成。在这个场景下...

    tomcat7-maven-plugin-2.2.jar

    当我们谈论`tomcat7-maven-plugin-2.2.jar`时,这实际上是Maven的一个插件,它允许开发者直接在Maven环境中集成和管理Tomcat服务器,从而实现快速部署和调试。 这个"修改版"的`tomcat7-maven-plugin-2.2.jar`可能...

    Maven Tomcat 插件

    Maven Tomcat插件为Java Web开发者提供了一个强大且灵活的工具,使得他们能够在本地或远程Tomcat服务器上轻松部署Web应用程序。通过简单的配置,就可以自动化完成整个部署过程,从而大大节省时间和精力,提高开发...

    maven项目完成tomcat的部署

    ### Maven项目完成Tomcat部署详解 #### 一、前言 在Java开发中,Maven作为构建工具之一,因其强大的依赖管理和项目构建能力而被广泛采用。Tomcat作为一款轻量级的应用服务器,也是Java Web应用开发的重要组成部分...

    Jenkins+Maven+SVN+Tomcat 持续集成环境快捷部署

    Maven是Java的一个项目管理和构建自动化工具,能够处理项目的编译、依赖、文档生成等构建生命周期的各个方面。SVN(Subversion)是一个开源的版本控制系统,用于管理代码的修订版本。Tomcat是一个开源的Web应用...

    Maven Tomcat插件源码

    Maven Tomcat插件是Apache Maven项目中的一个重要组件,它允许开发人员通过Maven构建工具直接部署和运行Java Web应用程序到Apache Tomcat服务器上。这个插件极大地简化了开发流程,使得开发者无需手动将应用部署到...

    tomcat7,8,maven

    - **Cargo插件**:Cargo提供更灵活的容器管理,包括远程部署到生产环境的Tomcat服务器。 5. **Maven生命周期与构建过程**: - **clean**:清理项目目标目录,如target。 - **compile**:编译源代码为字节码。 -...

    tomcat7-maven-plugin-2.2.jar.zip

    标题中的"tomcat7-maven-plugin-2.2.jar.zip"是一个Maven插件的压缩文件,主要用于Java Web应用程序的部署和管理。Tomcat7是一个流行的开源应用服务器,它实现了Servlet和JSP规范,用于运行Java Web应用。而Maven是...

Global site tag (gtag.js) - Google Analytics