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

 更新时间:2020年06月13日 09:06:14   投稿:yaominghui  
这篇文章主要介绍了SpringBoot如何实现分离资源文件并打包,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

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

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

相关文章

  • 详解NIO中FileChannel文件流的简单使用

    详解NIO中FileChannel文件流的简单使用

    NIO中Channel分为了很多种,包括FileChannel,DatagramChannel,SocketChannel和ServerSocketChannel,其中FileChannel主要用于对文件的读写,本文主要和大家探讨了FileChannel文件流的简单使用,希望对大家有所帮助
    2023-05-05
  • java 查找字符串所在的位置代码

    java 查找字符串所在的位置代码

    这篇文章主要介绍了java 查找字符串所在的位置代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • Spring定时任务中@PostConstruct被多次执行异常的分析与解决

    Spring定时任务中@PostConstruct被多次执行异常的分析与解决

    这篇文章主要给大家介绍了关于Spring定时任务中@PostConstruct被多次执行异常的分析与解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-10-10
  • SpringBoot自动配置原理,你真的懂吗?(简单易懂)

    SpringBoot自动配置原理,你真的懂吗?(简单易懂)

    这篇文章主要介绍了SpringBoot自动配置原理,你真的懂吗?本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-05-05
  • 浅谈SpringBoot内嵌Tomcat的实现原理解析

    浅谈SpringBoot内嵌Tomcat的实现原理解析

    这篇文章主要介绍了浅谈SpringBoot内嵌Tomcat的实现原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • java面试try-with-resources问题解答

    java面试try-with-resources问题解答

    这篇文章主要介绍了java面试try-with-resources问题解答, 这个语句的作用是,确保该语句执行之后,关闭每一个资源,也就是说它确保了每个资源都在生命周期结束之后被关闭
    2022-07-07
  • SpringBoot3整合MyBatis出现异常:Property 'sqlSessionFactory'or 'sqlSessionTemplate' are required

    SpringBoot3整合MyBatis出现异常:Property 'sqlSessionFactory&a

    这篇文章主要介绍了SpringBoot3整合MyBatis报错:Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are required,其实不是个大问题,只是自己编码时遇到了,然后总结总结分享一下,如果有遇到类似问题的,可以参考一下
    2022-11-11
  • Java中向文件写入数据的几种常见方式分享

    Java中向文件写入数据的几种常见方式分享

    在日常开发中,肯定离不开要和文件打交道,今天就简单罗列一下平时比较常用的创建文件并向文件中写入数据的几种方式,文中有详细的代码示例供大家参考,具有一定的参考价值,需要的朋友可以参考下
    2023-10-10
  • Java实现一个简单的长轮询的示例代码

    Java实现一个简单的长轮询的示例代码

    长轮询是与服务器保持即时通信的最简单的方式,它不使用任何特定的协议,例如 WebSocket ,所以也不依赖于浏览器版本等外部条件的兼容性。本文将用Java实现一个简单的长轮询,需要的可以参考一下
    2022-08-08
  • java合成模式之神奇的树结构

    java合成模式之神奇的树结构

    这篇文章主要介绍了java合成模式,文中运用大量的代码进行详细讲解,希望大家看完本文后能学习到相关的知识,需要的朋友可以参考一下
    2021-08-08

最新评论