服务器: Ubuntu 16.04(阿里云服务器)
jdk版本:1.8
相关的maven插件:web
这个插件的目的在于部署时,跳过测试 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.18.1</version> <configuration> <skipTests>true</skipTests> </configuration> </plugin> tomcat 插件 <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <path>/myweb</path> <port>80</port> <uriEncoding>UTF-8</uriEncoding> <url>http://XXXXX/manager/text</url> <!-- 这边的/manager/text 是必须的,而前面是你的主机。例如 http://localhost/manager/text --> <username>XXXX</username> <!-- 用于远程登陆的帐号,后边会再说到 --> <password>XXXX</password> <!-- 用于远程登陆的密码,后边会再说到--> <update>true</update> </configuration> </plugin>
一、首先你须要在conf/tomcat-users.xml 下建立用于远程用户
例如正则表达式
<role rolename="manager-gui"/> <role rolename="manager-script"/> <user username="XXXX" password="XXXX" roles="manager-gui,manager-script" />
username和password, 与上边 <username>XXXX</username> <password>XXXX</password>对应。apache
二、tomcat 默认只能由同一个物理机访问,因此,若是只配了上面的,那么仍是没法远程部署,会报 401 错误。须要在conf/Catalina/localhost/ 下面建立manager.xml。指定容许远程物理机的访问规则。下面给出一个模板,manager.xml 会容许任何的物理机访问tomcat
<Context privileged="true" antiResourceLocking="false" docBase="${catalina.home}/webapps/manager"> <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" /> </Context>
请注意到,<value/>节点的 allow 属性,这是一个正则表达式,用于匹配远程链接的IP。服务器
如此就能够经过maven 来进行远程部署了app
接下来,登陆 http://xxxxx/manage 会弹出一个对话框,输入远程登陆用户和密码便可webapp
参考资料:
https://stackoverflow.com/que...
https://stackoverflow.com/que...maven