以前没有使用远程部署war到Tomcat服务器的时候,都是将项目打包成war格式(eclipse中run->install,就会再target文件夹中生成一个war包),再使用连接服务器的工具把war包上传到远程服务器的webapps目录下,然后让服务器自动解压,完成部署。但是这种方式太不方便,不仅效率低还很麻烦。因此,这篇博客,我们将介绍如何使用Maven远程部署war包到服务器。
1、配置Tomcat的manager:
在远程Tomcat服务器的conf/tomcat-users.xml,中添加管理员账户,密码和权限,然后保存重启服务器。
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<role rolename="manager-script"/>
<user username="admin" password="admin" roles="manager-gui,admin-gui,manager-script"/>
在远程Tomcat服务器的conf/Catalina/localhost目录下创建一个manager.xml文件,文件内容为:
<?xml version="1.0" encoding="UTF-8"?>
<Context privileged="true" antiResourceLocking="false"
docBase="${catalina.home}/webapps/manager">
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>
2、在Maven项目的POM.XML引入插件:
(1)主要插件:
<!-- 配置Tomcat插件 -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<port>8080</port>
<url>http://119.29.194.159:8080/manager/text</url>
<username>admin</username>
<password>admin</password>
<path>/serviceMarket-manager-web</path>
<update>true</update>
</configuration>
</plugin>
将上面<url>的ip地址和端口换成自己tomcat服务器的ip和port,/manager/text则不需要改。<username>和<password>根远程tomcat的tomcat-users.xml配置的username和password一致。<path>为项目在服务器的部署路径,如果设置为“/”,则会默认部署到ROOT目录下。
(2)其他插件:
<!-- java编译插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!-- 资源文件拷贝插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.7</version>
<configuration>
<testFailureIgnore>true</testFailureIgnore>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
3、通过maven命令部署:
tomcat7:deploy //第一次部署
tomcat7:redeploy //第二次部署
tomcat7:undeploy //撤销部署
4、设置部署项目的版本:
在tomcat7-maven-plugin的configuration的path设置为
<path>/test#version</path> //第一种
<path>/test##version</path> //第二种
(责任编辑:IT) |