`

用Maven部署war包到远程Tomcat服务器

 
阅读更多

想要做到:一行命令直接部署到服务器。

首先要在Maven(POM.XML)中引入这个插件:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.2</version>
        </plugin>
    </plugins>
</build>

这个叫“tomcat7-maven-plugin”的插件是利用Tomcat的“manager”模块来实现war包部署的,所以必须确保Tomcat安装了Manager模块,(看看webapp下有没有Manager目录)它虽然名字带“tomcat7”,但Tomcat8也适用。

接下来我们对本地的Tomcat的manager模块进行一些配置,打开本地Tomcat的tomcat-users.xml文件,增加这样的配置:

<user username="deployer" password="654321" roles="manager-script"/>

这个叫“deployer”的用户,角色设定为“manager-script”,表明他可以使用Tomcat的manager模块的后台脚本管理,如果角色为“manager-gui”,则表示此用户可使用manager模块的前端网页管理。

 

接下来完善一下tomcat7-maven-plugin的配置:

<properties>
    <warPackageName>MyWebAppDemo</warPackageName>
    <tomcat.deploy.server>localTestServer</tomcat.deploy.server>
    <tomcat.deploy.serverUrl>http://localhost/manager/text</tomcat.deploy.serverUrl>
</properties>

<profiles>
    <profile>
        <id>deploy2production</id>
        <properties>
            <tomcat.deploy.server>productionServer</tomcat.deploy.server>
            <tomcat.deploy.serverUrl>http://120.26.93.30:8080/manager/text</tomcat.deploy.serverUrl>
        </properties>
    </profile>
</profiles>

<build>
    <finalName>${warPackageName}</finalName>
    <plugins>
        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.2</version>
            <configuration>
                <server>${tomcat.deploy.server}</server>
                <url>${tomcat.deploy.serverUrl}</url>
                <path>/${warPackageName}</path>
            </configuration>
        </plugin>
    </plugins>
</build>

Configuration-Server

Configuration中的server是个变量,叫tomcat.deploy.server,没有写死是因为我们要将WAR包部署到不同服务器去,而这个变量则由前面的properties来确定,我们可以看到,properties中,tomcat.deploy.server被赋值为localTestServer,这就是我们的默认值,但通过调整Maven的运行参数,我们可以将它修改为别的值,那么localTestServer又表示什么呢?前面说了,服务器的密码是自己定的,而且不希望别人知道,别的开发组员能各自决定自己本地服务器的密码,但他们无需知道我的密码,所以这个localTestServer的相关的内容是定义在“~/.m2/settings.xml”中的,在Windows7下通常就是在“C:\Users\(用户名)\.m2\settings.xml”这里。打开这个配置文件,在servers中增加两个server,也就是我们要将程序部署上去的两个server。

<servers>
    <server>
        <id>productionServer</id>
        <username>deployer</username>
        <password>123456</password>
    </server>
    <server>
        <id>localTestServer</id>
        <username>deployer</username>
        <password>654321</password>
    </server>
</servers>

Configuration-Server

Configuration中的url也是个变量,很显然,也不能把它写死,但它不像用户名和密码那么敏感,所以直接出现在POM.XML中也无所谓,默认情况下,其值是“http://localhost/manager/text”,这个地址便是Tomcat的Manager模块的后台脚本入口,url的值同样可以通过Maven的运行参数调整。

Configuration-path

要将WAR包部署到哪里去?要指定一个path,如果path为“/”,也就是部署为传说中的ROOT.WAR,这次我们指定了一个名为MyWebAppDemo的path。部署成功之后可以通过http://localhost/MyWebAppDemo来访问。

profile参数

也就是前面提到的Maven的参数,这里我们定了一个参数,叫deploy2production,在运行mvn的时候带上这个参数的话,就会用参数中的tomcat.deploy.server,tomcat.deploy.serverUrl来取代默认的值。

OK,所有的工作都完成了,就剩下部署了。开始吧:

mvn tomcat7:redeploy

redeploy和deploy都可以。

这是带参数的mvn:

mvn tomcat7:redeploy -Pdeploy2production

这么一下,我们的程序就被部署到正式服务器去了。

如果你想把程序移除掉,那很简单,只需要使用undeploy来代替redeploy即可。

 

http://www.cnblogs.com/guogangj/p/5505228.html

分享到:
评论

相关推荐

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

    本文将详细介绍如何使用Maven工具实现应用到远程Tomcat6服务器的自动部署。 #### 一、配置Tomcat6服务器 为了能够通过Maven进行远程部署,首先需要对Tomcat6服务器进行相应的配置。 ##### 1. 添加管理员账户 在`...

    maven 多war部署

    如果需要在同一个Tomcat服务器上部署多个WAR应用,可以使用Maven的Tomcat插件(maven-tomcat-plugin或tomcat7-maven-plugin)实现热部署。在每个子模块的pom.xml中添加插件配置,并设置不同的上下文路径,例如: ``...

    maven工程在tomcat服务器上的自动化部署

    标题中的“maven工程在tomcat服务器上的自动化部署”指的是使用Maven构建工具与Tomcat应用服务器相结合,实现Java Web项目自动部署的过程。这个过程旨在提高开发效率,减少手动部署的繁琐步骤,使得每次代码更新后都...

    java war包+tomcat+svn+pom.xml实现各开发环境自动化部署

    脚本可能包括`svn update`、`mvn clean package`、`cp`等命令,以实现从SVN获取最新代码、构建WAR包并将其部署到Tomcat服务器。 ### 第三步:部署测试 在完成上述步骤后,可以执行自动化部署脚本来测试整个流程。...

    tomcat服务器上部署项目

    例如,Maven的`tomcat7-maven-plugin`或`tomcat8-maven-plugin`可以直接将应用部署到本地或远程的Tomcat服务器。 总之,部署Java Web项目到Tomcat服务器是一个多步骤的过程,涉及到服务器配置、项目打包以及服务器...

    maven的安装文件以及集成TOMCAT、eclipse的教程

    3. **将Maven项目部署到Tomcat**: 右键选中项目,选择`Properties -&gt; Run/Debug Settings`,在Maven Build配置中添加`tomcat7:deploy`目标,然后将项目拖入Servers视图的Tomcat服务器。 4. **启动Tomcat**: 在...

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

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

    maven集成tomcat支持热部署

    7. 将Maven项目部署到Tomcat服务器,选中WAR包,右键点击"Run As" -&gt; "Run on Server",Eclipse会自动将项目部署到Tomcat。 8. 实现热部署的关键是启用Tomcat的热部署功能。在Eclipse中,选中Tomcat服务器,右键...

    maven cargo自动化部署tomcat7.pdf

    这一步骤是实现从命令行操作Maven项目自动化部署到Tomcat服务器的前提。 6. Cargo命令与目标(Goals): 通过执行Maven命令并附带特定的goals,可以控制Cargo插件的行为。文档中提到了cargo:start和cargo:run等...

    SSM项目频繁打成war包部署,使用tomcat和maven实现热部署配置

    现在,当你在IDEA等开发环境中进行代码修改后,只需要运行Maven的`tomcat7:redeploy`命令,就可以自动将修改后的应用重新部署到远程Tomcat服务器上,实现了热部署。 然而,需要注意的是,虽然这种方式提高了部署...

    jenkins+maven-tomcat插件自动部署

    一旦所有配置都完成,Jenkins将能够自动从Git仓库获取代码,使用Maven进行构建,然后通过Tomcat Maven插件将应用部署到远程Tomcat服务器上。这个自动化流程显著提高了开发效率,减少了手动部署的错误和时间消耗。 ...

    idea maven部署.pdf

    通过以上步骤,你可以使用Maven和Idea高效地管理你的Java Web项目,并将其便捷地部署到本地或远程的Tomcat服务器上。这种方法的优点在于自动化程度高,减少了手动操作,而且易于集成到持续集成(CI)流程中,提高开发...

    如何基于Idea远程调试tomcat war包及jar包

    在开发Java Web应用程序时,有时候我们需要对部署在远程Tomcat服务器上的war包或jar包进行调试。IntelliJ IDEA(Idea)提供了强大的远程调试功能,使得开发者可以在本地环境中进行远程调试,极大地提高了开发效率。...

    maven与Tomcat绿色版

    对于部署,可以利用Maven的`tomcat7-maven-plugin`或`tomcat8-maven-plugin`插件,直接将WAR文件部署到本地或远程的Tomcat服务器上,无需手动操作。通过命令行执行`mvn tomcat7:deploy`或`mvn tomcat8:deploy`,即可...

    Maven和Tomcat插件

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

    spring Boot打包部署到远程服务器的tomcat中

    总结,将Spring Boot应用部署到远程服务器的Tomcat中,需要修改`pom.xml`以创建WAR文件,排除内置Tomcat,打包并上传到服务器,最后在远程服务器上启动Tomcat服务。这整个过程涉及多个步骤,每个步骤都需要仔细处理...

    Tomcat 程序中远程部署

    总之,远程部署在Tomcat中的实现涉及多个步骤,包括配置Tomcat服务器、设置安全性、使用管理工具或脚本、源码构建工具的集成以及性能优化。了解和掌握这些知识点能够帮助开发者更高效地管理分布式系统,并确保应用的...

    springboot部署到外部tomcat容器.rar

    本资源"springboot部署到外部tomcat容器.rar"显然是关于如何将Spring Boot应用部署到外部的Tomcat服务器上的教程。下面,我们将深入探讨这一主题。 首先,了解Spring Boot的内置Tomcat与外置Tomcat的区别至关重要。...

    maven tomcat

    Maven提供了tomcat7-maven-plugin或tomcat8-maven-plugin插件,允许开发者直接从命令行将应用部署到本地或远程的Tomcat服务器上,无需手动拷贝WAR文件。例如,使用`mvn tomcat7:run`命令,可以直接启动Tomcat服务器...

    使用MyEclipse调试远程tomcat项目

    在IT行业中,开发Java Web...通过以上步骤,你可以在MyEclipse中高效地远程调试在远程Tomcat服务器上运行的项目。这个过程不仅有助于定位和解决问题,还有助于提高开发效率,特别是对于分布式系统或跨地域团队来说。

Global site tag (gtag.js) - Google Analytics