0
点赞
收藏
分享

微信扫一扫

springboot两种打包部署方式

alonwang 2022-01-10 阅读 102

springboot两种打包部署方式

一、打jar部署

  1. 修改当前项目的packing为 jar 或者在pom.xml 删除 packing 标签

    jar

  2. 直接打包运行

    • 运行jar包基本条件:必须安装jdk才行
    • 上传jar包到服务器
    • 直接使用 java -jar 项目.jar 方式运行

    注意:这种方式启动项目名和端口都以配置文件中声明的为主

    二、打war包部署

  3. 修改当前项目的packing为 war 或者在pom.xml 删除 packing 标签

    jar

  4. war包部署必须排除tormcat解析jsp依赖加入scope为provided

    <!--注意:使用war包部署必须排除tormcat解析jsp依赖加入scope
       为provided-->
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <scope>provided</scope>
    </dependency>
    
  5. war包部署必须排除内嵌tomcat服务器

    <!--注意:使用war包部署必须排除内嵌tomcat服务器-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <!-- <scope>provided</scope>表明该包只在编译和测试的时候用 -->
         <scope>provided</scope>
    </dependency>
    
  6. 添加maven插件打包

    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <configuration>
         <!-- 创建一个新的jvm,隔离性好-->
            <fork>true</fork>
         <!--增加jvm参数 -Dfile.encoding=UTF-8-->
            <jvmArguments>-Dfile.encoding=UTF-8</jvmArguments>
          <!-- 主程序类--> <mainClass>com.example.demo.DemoApplication</mainClass>
        </configuration>
    </plugin>
    
  7. war包部署必须继承SpringBootServletInitializer并且覆盖这个方法在方法中指定入口类

    @SpringBootApplication
    //注意:主程序类 extends SpringBootServletInitializer
    public class DemoApplication extends SpringBootServletInitializer {
    
        public static void main(String[] args) {
            SpringApplication.run(DemoApplication.class, args);
        }
        //使用war包部署必须继承SpringBootservletInitializer并且覆盖这个方法在方法中指定入口类
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder builder){
            return builder.sources(DemoApplication.class);
        }
    }
    

举报

相关推荐

0 条评论