想要做到:一行命令直接部署到服务器。
首先要在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服务器的自动部署。 #### 一、配置Tomcat6服务器 为了能够通过Maven进行远程部署,首先需要对Tomcat6服务器进行相应的配置。 ##### 1. 添加管理员账户 在`...
如果需要在同一个Tomcat服务器上部署多个WAR应用,可以使用Maven的Tomcat插件(maven-tomcat-plugin或tomcat7-maven-plugin)实现热部署。在每个子模块的pom.xml中添加插件配置,并设置不同的上下文路径,例如: ``...
标题中的“maven工程在tomcat服务器上的自动化部署”指的是使用Maven构建工具与Tomcat应用服务器相结合,实现Java Web项目自动部署的过程。这个过程旨在提高开发效率,减少手动部署的繁琐步骤,使得每次代码更新后都...
脚本可能包括`svn update`、`mvn clean package`、`cp`等命令,以实现从SVN获取最新代码、构建WAR包并将其部署到Tomcat服务器。 ### 第三步:部署测试 在完成上述步骤后,可以执行自动化部署脚本来测试整个流程。...
例如,Maven的`tomcat7-maven-plugin`或`tomcat8-maven-plugin`可以直接将应用部署到本地或远程的Tomcat服务器。 总之,部署Java Web项目到Tomcat服务器是一个多步骤的过程,涉及到服务器配置、项目打包以及服务器...
3. **将Maven项目部署到Tomcat**: 右键选中项目,选择`Properties -> Run/Debug Settings`,在Maven Build配置中添加`tomcat7:deploy`目标,然后将项目拖入Servers视图的Tomcat服务器。 4. **启动Tomcat**: 在...
4. **部署到Tomcat**:构建成功后,Jenkins可以通过使用`deploy`生命周期阶段的Maven目标,如`mvn tomcat7:deploy`,将WAR文件部署到远程Tomcat服务器。也可以编写shell脚本手动完成这个过程,包括停止Tomcat、复制...
7. 将Maven项目部署到Tomcat服务器,选中WAR包,右键点击"Run As" -> "Run on Server",Eclipse会自动将项目部署到Tomcat。 8. 实现热部署的关键是启用Tomcat的热部署功能。在Eclipse中,选中Tomcat服务器,右键...
这一步骤是实现从命令行操作Maven项目自动化部署到Tomcat服务器的前提。 6. Cargo命令与目标(Goals): 通过执行Maven命令并附带特定的goals,可以控制Cargo插件的行为。文档中提到了cargo:start和cargo:run等...
现在,当你在IDEA等开发环境中进行代码修改后,只需要运行Maven的`tomcat7:redeploy`命令,就可以自动将修改后的应用重新部署到远程Tomcat服务器上,实现了热部署。 然而,需要注意的是,虽然这种方式提高了部署...
一旦所有配置都完成,Jenkins将能够自动从Git仓库获取代码,使用Maven进行构建,然后通过Tomcat Maven插件将应用部署到远程Tomcat服务器上。这个自动化流程显著提高了开发效率,减少了手动部署的错误和时间消耗。 ...
通过以上步骤,你可以使用Maven和Idea高效地管理你的Java Web项目,并将其便捷地部署到本地或远程的Tomcat服务器上。这种方法的优点在于自动化程度高,减少了手动操作,而且易于集成到持续集成(CI)流程中,提高开发...
在开发Java Web应用程序时,有时候我们需要对部署在远程Tomcat服务器上的war包或jar包进行调试。IntelliJ IDEA(Idea)提供了强大的远程调试功能,使得开发者可以在本地环境中进行远程调试,极大地提高了开发效率。...
对于部署,可以利用Maven的`tomcat7-maven-plugin`或`tomcat8-maven-plugin`插件,直接将WAR文件部署到本地或远程的Tomcat服务器上,无需手动操作。通过命令行执行`mvn tomcat7:deploy`或`mvn tomcat8:deploy`,即可...
Tomcat插件通常指的是`maven-tomcat-plugin`或`tomcat7-maven-plugin`,它允许开发者在Maven构建流程中直接部署应用程序到本地或远程的Tomcat服务器。例如,以下配置可以在打包完成后自动部署到本地Tomcat: ```xml...
总结,将Spring Boot应用部署到远程服务器的Tomcat中,需要修改`pom.xml`以创建WAR文件,排除内置Tomcat,打包并上传到服务器,最后在远程服务器上启动Tomcat服务。这整个过程涉及多个步骤,每个步骤都需要仔细处理...
总之,远程部署在Tomcat中的实现涉及多个步骤,包括配置Tomcat服务器、设置安全性、使用管理工具或脚本、源码构建工具的集成以及性能优化。了解和掌握这些知识点能够帮助开发者更高效地管理分布式系统,并确保应用的...
本资源"springboot部署到外部tomcat容器.rar"显然是关于如何将Spring Boot应用部署到外部的Tomcat服务器上的教程。下面,我们将深入探讨这一主题。 首先,了解Spring Boot的内置Tomcat与外置Tomcat的区别至关重要。...
Maven提供了tomcat7-maven-plugin或tomcat8-maven-plugin插件,允许开发者直接从命令行将应用部署到本地或远程的Tomcat服务器上,无需手动拷贝WAR文件。例如,使用`mvn tomcat7:run`命令,可以直接启动Tomcat服务器...
在IT行业中,开发Java Web...通过以上步骤,你可以在MyEclipse中高效地远程调试在远程Tomcat服务器上运行的项目。这个过程不仅有助于定位和解决问题,还有助于提高开发效率,特别是对于分布式系统或跨地域团队来说。