使用Maven将War包部署至远程Tomcat服务器
之前部署JavaWeb应用时,是将工程构建成WAR包,然后通过SSH或SFTP将WAR包上传至测试服务器。这样做比较麻烦,而且每次需要登录到服务器上。
今天看了几篇文章,实践了一下,使用Eclipse将项目直接打包上传至远程Tomcat,大大提高了工作效率。
1.进入Eclipse,配置Maven的settings.xml文件。
如果目录中没有settings.xml文件,则创建一个,放在指定路径中。
- <?xml version="1.0" encoding="UTF-8"?>
- <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
- <pluginGroups>
- </pluginGroups>
- <proxies>
- </proxies>
- <servers>
- <server>
- <id>UbuntuServer</id>
- <username>admin</username>
- <password>123456</password>
- </server>
- <server>
- <id>LocalServer</id>
- <username>admin</username>
- <password>123456</password>
- </server>
- </servers>
- <mirrors>
- </mirrors>
- <profiles>
- </profiles>
- </settings>
2.在工程的POM.XML中,加入:
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <warPackageName>demo</warPackageName>
- <tomcat.deploy.server>LocalServer</tomcat.deploy.server>
- <tomcat.deploy.serverUrl>http://localhost:8080/manager/text</tomcat.deploy.serverUrl>
- </properties>
- <profiles>
- <profile>
- <id>gotoserver</id>
- <properties>
- <tomcat.deploy.server>UbuntuServer</tomcat.deploy.server>
- <tomcat.deploy.serverUrl>http://192.168.1.108: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>
3.设置远程Tomcat的用户及访问权限
在远程Tomcat的conf/tomcat-users.xml中,加入:
- <role rolename="manager-gui"/>
- <role rolename="manager-script"/>
- <user username="admin" password="123456" roles="manager-script,manager-gui"/>
- <?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>
- mvn tomcat7:redeploy -Pgotoserver
右键点击项目,选择“maven build...”
填入maven指令,设置一个常用名称:
以后每一次更新项目,直接在工具栏里执行就好了,非常省事。
不过要先确保远程tomcat是启动着的。
本文参考了以下两篇文章:
http://www.cnblogs.com/guogangj/p/5505228.html
http://www.cnblogs.com/xyb930826/p/5725340.html