服務器: 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