SpringBoot如何实现分离资源文件并打包

 更新时间:2020-06-14 04:45:57   作者:佚名   我要评论(0)

Spring Boot项目默认的会打包成单一的jar文件,但是有时候我们并不想让配置文件、依赖包都跟可执行文件打包到一起。这时候可以在pom.xml文件中进行配置,从而使资源

Spring Boot项目默认的会打包成单一的jar文件,但是有时候我们并不想让配置文件、依赖包都跟可执行文件打包到一起。这时候可以在pom.xml文件中进行配置,从而使资源文件、依赖包和可执行文件分离。

这样子更新代码的时候 我们的jar包很少改变 有利于维护

pom.xml 如下

<build>
  <plugins>
    <plugin>
      <!--打包时去除第三方依赖-->
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
      <configuration>
        <layout>ZIP</layout>
        <includes>
          <include>
            <groupId>non-exists</groupId>
            <artifactId>non-exists</artifactId>
          </include>
        </includes>
      </configuration>
    </plugin>
    <!--拷贝第三方依赖文件到指定目录-->
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-dependency-plugin</artifactId>
      <executions>
        <execution>
          <id>copy-dependencies</id>
          <phase>package</phase>
          <goals>
            <goal>copy-dependencies</goal>
          </goals>
          <configuration>
            <!--target/lib是依赖jar包的输出目录,根据自己喜好配置-->
            <outputDirectory>target/lib</outputDirectory>
            <excludeTransitive>false</excludeTransitive>
            <stripVersion>false</stripVersion>
            <includeScope>runtime</includeScope>
          </configuration>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

记得将 项目resource 复制一份到同级目录下

java -jar -Dloader.path=resources,lib (可执行的jar包名称).jar

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

  • Springboot如何基于assembly服务化实现打包
  • Spring boot打包jar分离lib和resources方法实例
  • Springboot jar文件如何打包zip在linux环境运行
  • SpringBoot项目没有把依赖的jar包一起打包的问题解决
  • Springboot项目与vue项目整合打包的实现方式
  • spring boot项目打包成war在tomcat运行的全步骤
  • Spring Boot将项目打包成war包的操作方法

相关文章

  • SpringBoot如何实现分离资源文件并打包

    SpringBoot如何实现分离资源文件并打包

    Spring Boot项目默认的会打包成单一的jar文件,但是有时候我们并不想让配置文件、依赖包都跟可执行文件打包到一起。这时候可以在pom.xml文件中进行配置,从而使资源
    2020-06-14
  • 基于Flyway实现简化Spring Boot项目部署

    基于Flyway实现简化Spring Boot项目部署

    1.什么是 Flyway 我们在公司做开发时,由于项目需求的变化,或者前期设计缺陷,导致在后期需要修改数据库,这应该是一个比较常见的事情,如果项目还没上线,你可能把
    2020-06-14
  • Java Reactor反应器模式使用方法详解

    Java Reactor反应器模式使用方法详解

    Reactor反应器模式 到目前为止,高性能网络编程都绕不开反应器模式。很多著名的服务器软件或者中间件都是基于反应器模式实现的,如Nginx、Redis、Netty。 反应器
    2020-06-14
  • Java类加载机制实现流程及原理详解

    Java类加载机制实现流程及原理详解

    前言   我们知道,Java项目编译后会生成许许多多的class文件,class文件保存着类的描述信息。虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转化
    2020-06-14
  • Python celery原理及运行流程解析

    Python celery原理及运行流程解析

    celery简介 celery是一个基于分布式消息传输的异步任务队列,它专注于实时处理,同时也支持任务调度。它的执行单元为任务(task),利用多线程,如Eventlet,gevent
    2020-06-14
  • Django QuerySet查询集原理及代码实例

    Django QuerySet查询集原理及代码实例

    一 概念 Django的ORM中存在查询集的概念。 查询集,也称查询结果集、QuerySet,表示从数据库中获取的对象集合。 当调用如下过滤器方法时,Django会返回查询集(而
    2020-06-14
  • Python Django中间件使用原理及流程分析

    Python Django中间件使用原理及流程分析

    一、什么是Django中间件   Django 中间件是用来处理Django的请求request和响应response的框架级别的钩子,它是一个轻量,低级别的插件系统,用于全局范围内改变
    2020-06-14
  • Pandas缺失值2种处理方式代码实例

    Pandas缺失值2种处理方式代码实例

    处理方式: 存在缺失值nan,并且是np.nan: 删除存在缺失值的:dropna(axis='rows') 替换缺失值:fillna(df[].mean(), inplace=True) 不是缺失值nan,有默认标
    2020-06-14
  • php获取小程序码的实现代码(B类接口)

    php获取小程序码的实现代码(B类接口)

    效果图 生成小程序码的php代码 public function qrcode(){ $member_id = session('id'); if(empty($member_id)) $this->error('请先登录'); //推广
    2020-06-14
  • PyInstaller运行原理及常用操作详解

    PyInstaller运行原理及常用操作详解

    pyinstaller 属于Python第三方库,使用前需先安装 # 首先安装pyinstaller pip install pyinstaller PyInstaller生成可执行程序 # PyInstaller 工具的命
    2020-06-14

最新评论