SpringBoot打包部署简单说明

Stella981
• 阅读 663

SpringBoot项目打包部署

1. jar包部署

  • 添加一个插件

    <!-- 打包插件 -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
    
  • 这种使用SpringBoot内嵌的Tomcat进行部署。SpringBoot在不指定打包的时候默认jar包形式

    <packaging>jar</packaging>
    
  • 使用命令启动部署

    java -jar xxx.jar
    

注意存在第三方jar的情况

2. war包部署

  • 添加插件如上

  • 打包方式修改为war

    <packaging>war</packaging>
    
  • 添加tomcat插件,spring boot本身有一个内嵌的tomcat,如果不做其他配置直接打包,就会生成一个jar包。 所以我们引入外部tomcat

    <!-- 外部 tomcat -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
    </dependency>
    
  • 在启动类中做如下配置,继承SpringBootServletInitializer,重写configure方法

    @SpringBootApplication
    public class MyApplication extends SpringBootServletInitializer {
    
        public static void main(String[] args) {
            SpringApplication.run(MyApplication.class, args);
        }
    
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
            return builder.sources(MyApplication.class);
        }
    }
    
  • 打包(war)

    • 切换到项目所在路径,使用命令 mvn clean package
    • 使用IDE工具,例如IDEA自带打包工具SpringBoot打包部署简单说明
  • 部署,拷贝war包到tomcat的webapps路径下,启动tomcat

注意:这种war包方式端口号使用tomcat的,项目名使用war包的名字,对于application.yml配置文件里指定的端口号和项目名会覆盖掉。

注意第三方jar的情况

使用maven的打包插件,打包方式还是如上。

<build>
        <!--设置maven-war-plugins插件,否则外部依赖无法打进war包 -->
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <webResources>
                        <resource>
                            <directory>src/main/resources/jar/</directory>
                            <targetPath>WEB-INF/lib</targetPath>
                            <filtering>false</filtering>
                            <includes>
                                <include>**/*.jar</include>
                            </includes>
                        </resource>
                    </webResources>
                </configuration>
            </plugin>
        </plugins>
    </build>

注意:打包插件不能再用springboot提供的

点赞
收藏
评论区
推荐文章
Easter79 Easter79
3年前
springboot使用之快捷打包部署
本篇关键知识点:Maven的assembly插件实现自定义打包部署(包含依赖jar包) 目前springboot项目的几种常见的部署方式。1\.使用docker容器去部署,将springboot的应用构建成一个dockerimage,然后通过容器去启动镜像,这种方式在
Easter79 Easter79
3年前
springboot项目启动,停止,重启
参考博客https://www.cnblogs.com/chy/p/10460061.html打包插件,可以指定启动类<build<plugins<plugin<groupIdorg.springframework.boot</groupId<artifact
Stella981 Stella981
3年前
SpringBoot 配置文件与依赖库分离打包配置
一、应用场景一般情况下我们对springboot应用打包时使用springboot的maven插件springbootmavenplugin的maven进行打包,打包完成得到一个fatjar,fatjar的优点是可以直接运行,缺点是体积太大,不利于传输,springboot应用打出来的fatjar体积少则几十M,多则上百M,在往服务器部署传
Easter79 Easter79
3年前
SpringBoot打包部署简单说明
SpringBoot项目打包部署1\.jar包部署添加一个插件<!打包插件<build<plugins<plugin<groupId
Stella981 Stella981
3年前
SpringBoot2.0 基础案例(17):自定义启动页,项目打包和指定运行环境
本文源码GitHub地址:知了一笑https://github.com/cicadasmile/springbootbase一、打包简介springboot的打包方式有很多种。可以打war包,可以打jar包,可以使用jekins进行打包部署的。不推荐用war包,SpringBoot适合前后端分离
Easter79 Easter79
3年前
SpringBoot2.0 基础案例(17):自定义启动页,项目打包和指定运行环境
本文源码GitHub地址:知了一笑https://github.com/cicadasmile/springbootbase一、打包简介springboot的打包方式有很多种。可以打war包,可以打jar包,可以使用jekins进行打包部署的。不推荐用war包,SpringBoot适合前后端分离
Stella981 Stella981
3年前
Spring Boot打包war jar 部署tomcat
概述1.SpringBoot聚合工程打包war部署Tomcat2.SpringBoot打包Jar,通过Javajar直接运行.3.提供完整pom.xml测试项目至github4.项目目前了集成了SpringBootSpringdatajpaRedis集群dubbofreemarker 持续更新...
Stella981 Stella981
3年前
Linux下部署springboot项目的步骤及过程
最近在研究将springboot项目部署到Linux服务器上,由于springboot是内嵌了tomcat,所以可以直接将项目打包上传至服务器上。我是在idea上的项目,所以我就基于此说下过程。(一)打包你的项目1、在pom文件中添加springboot的maven插件 !(https://img2018.cnblogs.com/blog/1
Easter79 Easter79
3年前
SpringBoot如何配置热部署插件
之前有段时间学SpringBoot的时候专门搞过这个问题,确实存在很多的坑,今天又有朋友问我他热部署后怎么没有生效,那么接下来简单的总结一下,让这个问题不再成为问题。首先我们在pom文件中引入热部署插件,如下<build    <plugins      <plugin        <gro
Stella981 Stella981
3年前
SpringBoot 部署到linux环境
第一部分:Springboot项目部署说明:工具使用的是IEDA第一:项目打包1.在pom文件中添加插件<build<plugins<plugin<groupId