springboot 发布tomcat(war包)

Posted 正怒月神

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot 发布tomcat(war包)相关的知识,希望对你有一定的参考价值。

废话不多说

一 下载tomcat

Apache Tomcat® - Apache Tomcat 9 Software Downloads

二 修改tomcat配置

1 conf\\server.xml

这里我修改了9021端口
<Server port="9021" shutdown="SHUTDOWN">



这里我修改了9022端口,并且增加了URIEncoding="UTF-8"
<Connector port="9022" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="UTF-8"/>

2 logging.properties

这里注释了UTF-8,改为GBK,否则启动时乱码
#java.util.logging.ConsoleHandler.encoding = UTF-8
java.util.logging.ConsoleHandler.encoding = GBK

三 修改springboot项目

1 POM

这是为了调试时使用tomcat,但打包时排除tomcat

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

2 启动类

增加了继承SpringBootServletInitializer

并且重写了configure方法

@SpringBootApplication
@EnableProcessApplication
@ComponentScan(basePackages="com.abc",lazyInit=true)
public class Application extends SpringBootServletInitializer 

    public static void main(String[] args) 
        SpringApplication.run(Application.class, args);
    

    @Override
    protected SpringApplicationBuilder configure(
            SpringApplicationBuilder application) 
        return application.sources(Application.class);
    

四 打包

运行 mvn clean package

Target目录下,出现了  这个war包。

将他拷贝到Tomcat下的webapps 中

最好修改一下war名称。比如我的是:abc.webCamunda-0.0.1-SNAPSHOT.war

改成 abc.webCamunda.war

五 运行Tomcat

找到 tomcat目录中的bin文件夹,运行当中的startup.bat

 六 访问

http://localhost:9022/abc.webCamunda/api/test/test

以上是关于springboot 发布tomcat(war包)的主要内容,如果未能解决你的问题,请参考以下文章

springboot 发布tomcat(war包)

Springboot 进行war包部署,以及踩坑历险!!!

Springboot项目导出tomcat下war包

使用idea创建springboot项目并打成war包发布到tomcat8上

springboot使用war包部署到外部tomcat

SpringBoot应用War包形式部署到外部Tomcat