zoukankan      html  css  js  c++  java
  • SpringBoot项目打包与部署

    springboot的war想要在tomcat服务器上运行,必须添加配置。

    1.继承并重写

    让启动类继承SpringBootServletInitializer,并重写configure方法,关键代码如下

    @SpringBootApplication
    public class UploadDemoApplication extends SpringBootServletInitializer {
    
        public static void main(String[] args) {
            SpringApplication.run(UploadDemoApplication.class, args);
        }
    
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
            return builder.sources(this.getClass());
        }
    }

    若在创建SpringBoot项目时已经自动创建,则跳过此步。

    2.修改pom文件

    2.1 在pom文件中添加打包方式为war

       <groupId>com.example</groupId>
        <artifactId>upload-demo</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>upload-demo</name>
        <!--配置打包方式war-->
        <packaging>war</packaging>
        <description>Demo project for Spring Boot</description>

    2.2 修改tomcat依赖

    1)对内置的tomcat进行设置

    由于springboot有内置的tomcat,所以在外部tomcat中部署时,必须对内置的tomcat进行设置,有两种方式,二选一即可,本人觉得第二种方式更简单。

    第一种方式:移除内置的tomcat

    在web的依赖中移除tomcat,并添加servlet依赖

          <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <!--移除内嵌的tomcat-->
                <exclusions>
                    <exclusion>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-tomcat</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <!--servlet的 api-->
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <scope>provided</scope>
            </dependency>  

    第二种方式:修改tomcat的使用范围

    我们在开发时需要内置的tomcat,而在部署时不需要,就可以设置tomcat只在编译和测试时生效。

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

    2)在build中指定打包的项目名称

     <build>
            <finalName>upload-demo</finalName>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>

    要注意,tomcat进行部署的时候,访问需要带项目名称,所以就指定了打包后的名称。为了在开发环境和正式环境的一致性,请在application.properties文件中配置访问接口时带指定的路径(或项目名)。配置后在开发环境访问接口时,必须加配置的路径才能访问。

    server.servlet.context-path=/upload-demo
    

    3.打包部署

    清理项目,进行打包:

    把这个war包放到tomcat的webapps中,然后启动,访问即可。(需带项目名称)

    就是这么简单,你学废了吗?感觉有用的话,给笔者点个赞吧 !
  • 相关阅读:
    Promise前期准备---区别实例对象与函数对象
    es6之函数参数默认值、字符串方法、for of
    es6之剩余和扩展参数
    es6之解构赋值
    es6之set和map
    前端知识点总结
    jQuery的12种选择器
    前端面试总结
    Closure
    PHP 中 16 个魔术方法详解
  • 原文地址:https://www.cnblogs.com/zys2019/p/14967511.html
Copyright © 2011-2022 走看看