以前使用的是Jenkins自動化部署,也是比較推薦的,不過使用maven也能夠直接構建自動化部署tomcathtml
說明條件:web
1.tomcat9而且一個tomcat部署多個端口跑多個項目apache
2.maven版本沒測瀏覽器
3.編輯器ideatomcat
主要修改tomcat中conf中的server.xml文件中的Service標籤服務器
打開tomcat目錄/conf/server.xmlapp
如下是tomcat的server.xml默認配置webapp
將Service標籤複製多個標籤,即須要多個端口複製多個標籤便可:Service標籤說明maven
1 <Service name="Catalina_mobile"> 2 <!-- 8084表示瀏覽器訪問端口 --> 3 <Connector port="8084" protocol="org.apache.coyote.http11.Http11NioProtocol" 4 connectionTimeout="20000" 5 redirectPort="8022" /> 6 <!-- port="8014" 改成未使用端口便可 --> 7 <Connector port="8014" protocol="AJP/1.3" redirectPort="9441" 8 keepAliveTimeout="3600000" 9 maxKeepAliveRequests="300"/> 10 <Engine name="Catalina" defaultHost="localhost"> 11 <Realm className="org.apache.catalina.realm.LockOutRealm"> 12 <Realm className="org.apache.catalina.realm.UserDatabaseRealm" 13 resourceName="UserDatabase"/> 14 </Realm> 15 <!-- appBase爲自定義tomcat端口的war包位置 --> 16 <Host name="localhost" appBase="webapps/mobile" 17 unpackWARs="true" autoDeploy="true" > 18 <!-- 下方註釋能夠放開,可是放開時使用maven動態上傳war不會自動解壓,故不放開爲好 --> 19 <!-- <Context debug="0" docBase="C:/Users/tuhao/Desktop/tomcat/webapps/mobile/ROOT/" path="/" privileged="true" reloadable="true"></Context> --> 20 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" 21 prefix="localhost_access_log" suffix=".txt" 22 pattern="%h %l %u %t "%r" %s %b" /> 23 </Host> 24 </Engine> 25 </Service>
能夠按照上述說明配置多個Service以及對應的目錄放入對應的項目便可將tomcat配置多個端口訪問項目編輯器
編輯遠程tomcat服務器下的conf/tomcat-users.xml,在末尾增長(也能夠拉到文件末尾,去掉註釋改一下也能夠)
1 <role rolename="manager-gui"/> 2 <role rolename="manager-script"/> 3 <role rolename="admin-gui"/> 4 <role rolename="admin-script"/> 5 <role rolename="tomcat-gui"/> 6 <user username="root" password="root" roles="manager-gui,manager-script,admin-gui,admin-script,tomcat-gui"/>
將上述圖片兩個項目放到對應的每一個項目文件夾中
訪問:http://serverIp:port/manager/html輸入上述帳戶密碼root/root是否進入manager項目
添加一個plugin
url:爲動態部署http://serverId:port/manager/test
path:有個騷操做好比在file1文件夾下的file.war包,就要寫出file1\file2(不建議這樣使用,可能形成沒法動態解壓war包)
1 <plugin> 2 <groupId>org.apache.tomcat.maven</groupId> 3 <artifactId>tomcat7-maven-plugin</artifactId> 4 <version>2.2</version> 5 <configuration> 6 <url>http://127.0.0.1:8082/manager/text</url> 7 <username>root</username> 8 <password>root</password> 9 <server>tomcat</server> 10 <uriEncoding>UTF-8</uriEncoding> 11 <finalName>ROOT.war</finalName> 12 <path>/ROOT</path> 13 </configuration> 14 </plugin>
有文章說第一次使用一個,最後使用另外一個,我沒有遇到,使用兩個貌似都行,但沒有詳細測試,讀者可自行選擇排查
clean compile install tomcat7:redeploy
或者
clean compile install tomcat7:deploy(要求:上步驟plugin的configuration須要添加一個標籤<update>true<update>,不然會報錯)
有些報錯處理方式:https://www.cnblogs.com/xyb930826/p/5725340.html