天天看點

SpringBoot項目打成war包部署外部tomcat

第一步: 修改pom.xml

<packaging>war</packaging>
           

修改為war包

SpringBoot項目打成war包部署外部tomcat
<!-- 去除SpringBoot内置Tomcat伺服器 -->
		<dependency>
	            <groupId>org.springframework.boot</groupId>
	            <artifactId>spring-boot-starter-tomcat</artifactId>
	            <scope>provided</scope>
		</dependency>
           

我因為打包的時候自動下載下傳的版本報錯,是以自定義了一個版本

<plugin>
		<groupId>org.apache.maven.plugins</groupId>
		<artifactId>maven-war-plugin</artifactId>
		<version>3.2.2</version>
		<configuration>
			<skipTests>true</skipTests>
		</configuration>
	</plugin>
           

第二步: 修改啟動項繼承SpringBootServletInitializer

public class SuZhouArchivesApplication extends SpringBootServletInitializer {

		public static void main(String[] args) {
			SpringApplication.run(SuZhouArchivesApplication.class, args);
		}
		
		@Override
	    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
	        return builder.sources(SuZhouArchivesApplication.class);
	    }

}
           

之後 maven install打成war包即可

第三步: 修改tomcat的配置檔案

直接把打成的war包,如testwar.war放入webapps下即可

conf下的server.xml

增加

<Context path="/" reloadable=“true” docBase=“war包名”/>

包名即為 testwar

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

  	**<Context path="/" reloadable="true" docBase="testwar"/>**

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

      </Host>

           

這邊的8080的可自己配置為自己想的端口号,如80

SpringBoot項目打成war包部署外部tomcat

第三步: 釋出

直接輕按兩下bin下的startup.bat即可

浏覽器中敲

localhost即可通路到

繼續閱讀