以前使用的是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