天天看点

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即可访问到

继续阅读