环境
服务器: Ubuntu 16.04(阿里云服务器)
jdk版本:1.8
相关的maven插件:
这个插件的目的在于部署时,跳过测试
<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>
1、首先你需要在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>对应。
2、tomcat 默认只能由同一个物理机访问,所以,如果只配了上面的,那么还是无法远程部署,会报 401 错误。需要在conf/Catalina/localhost/ 下面创建manager.xml。指定允许远程物理机的访问规则。下面给出一个模板,manager.xml 会允许任何的物理机访问
<Context privileged="true" antiResourceLocking="false"
docBase="${catalina.home}/webapps/manager">
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>
请注意到,<value/>节点的 allow 属性,这是一个正则表达式,用于匹配远程连接的IP。
如此就可以通过maven 来进行远程部署了
接下来,登录 http://xxxxx/manage 会弹出一个对话框,输入远程登录用户和密码即可
参考资料:
https://stackoverflow.com/que...
https://stackoverflow.com/que...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。