spring/boot打包,将业务jar包和资源配置文件进行分离打包,打包后的资源在target/release文件夹下面

注意:添加以下配置后,注意修改自己的入口类

  1. <!--相关编译打包依赖-->
  2. <build>
  3. <plugins>
  4. <!--打包jar-->
  5. <plugin>
  6. <groupId>org.apache.maven.plugins</groupId>
  7. <artifactId>maven-jar-plugin</artifactId>
  8. <configuration>
  9. <!--不打包资源文件-->
  10. <excludes>
  11. <exclude>*.**</exclude>
  12. <exclude>*/*.xml</exclude>
  13. <exclude>*/*.html</exclude>
  14. <exclude>*/*.yml</exclude>
  15. </excludes>
  16. <archive>
  17. <manifest>
  18. <addClasspath>true</addClasspath>
  19. <!--MANIFEST.MF 中 Class-Path 加入前缀-->
  20. <classpathPrefix>lib/</classpathPrefix>
  21. <!--jar包不包含唯一版本标识-->
  22. <useUniqueVersions>false</useUniqueVersions>
  23. <!--指定入口类,修改成自己项目的入口类 -->
  24. <mainClass>com.github.example.ExampleApplication</mainClass>
  25. </manifest>
  26. <manifestEntries>
  27. <!--MANIFEST.MF 中 Class-Path 加入资源文件目录-->
  28. <Class-Path>./resources/</Class-Path>
  29. </manifestEntries>
  30. </archive>
  31. <outputDirectory>${project.build.directory}/release</outputDirectory>
  32. </configuration>
  33. </plugin>
  34.  
  35. <!--拷贝第三方依赖文件到指定目录-->
  36. <plugin>
  37. <groupId>org.apache.maven.plugins</groupId>
  38. <artifactId>maven-dependency-plugin</artifactId>
  39. <executions>
  40. <execution>
  41. <id>copy-dependencies</id>
  42. <phase>package</phase>
  43. <goals>
  44. <goal>copy-dependencies</goal>
  45. </goals>
  46. <configuration>
  47. <outputDirectory>
  48. ${project.build.directory}/release/lib/
  49. </outputDirectory>
  50. </configuration>
  51. </execution>
  52. </executions>
  53. </plugin>
  54.  
  55. <!--拷贝资源文件 copy-resources-->
  56. <plugin>
  57. <artifactId>maven-resources-plugin</artifactId>
  58. <executions>
  59. <execution>
  60. <id>copy-resources</id>
  61. <phase>package</phase>
  62. <goals>
  63. <goal>copy-resources</goal>
  64. </goals>
  65. <configuration>
  66. <resources>
  67. <resource>
  68. <directory>src/main/resources</directory>
  69. </resource>
  70. </resources>
  71. <outputDirectory>${project.build.directory}/release/resources</outputDirectory>
  72. </configuration>
  73. </execution>
  74. </executions>
  75. </plugin>
  76.  
  77. <!--spring boot repackage,依赖 maven-jar-plugin 打包的jar包 重新打包成 spring boot 的jar包-->
  78. <plugin>
  79. <groupId>org.springframework.boot</groupId>
  80. <artifactId>spring-boot-maven-plugin</artifactId>
  81. <configuration>
  82. <!--重写包含依赖,包含不存在的依赖,jar里没有pom里的依赖-->
  83. <includes>
  84. <include>
  85. <groupId>null</groupId>
  86. <artifactId>null</artifactId>
  87. </include>
  88. </includes>
  89. <layout>ZIP</layout>
  90. <!--使用外部配置文件,jar包里没有资源文件-->
  91. <addResources>true</addResources>
  92. <outputDirectory>${project.build.directory}/release</outputDirectory>
  93. </configuration>
  94. <executions>
  95. <execution>
  96. <goals>
  97. <goal>repackage</goal>
  98. </goals>
  99. <configuration>
  100. <!--配置jar包特殊标识 配置后,保留原文件,生成新文件 *-run.jar -->
  101. <!--配置jar包特殊标识 不配置,原文件命名为 *.jar.original,生成新文件 *.jar -->
  102. <!--<classifier>run</classifier>-->
  103. </configuration>
  104. </execution>
  105. </executions>
  106. </plugin>
  107.  
  108. </plugins>
  109. </build>

spring/boot 打包,资源/配置/业务文件分离的更多相关文章

  1. spring boot打包,依赖、配置文件分离,拷贝启动脚本

    一.最终打包的目录结构 二.项目结构 三.开始 1.最终打包的目录,可根据自己需要修改. <properties> <mzservice.path>${project.buil ...

  2. 从零开始的Spring Boot(3、Spring Boot静态资源和文件上传)

    Spring Boot静态资源和文件上传 写在前面 从零开始的Spring Boot(2.在Spring Boot中整合Servlet.Filter.Listener的方式) https://www. ...

  3. Spring Boot 2.0 配置图文教程

    摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! 本章内容 自定义属性快速入门 外化配置 自动配置 自定义创建 ...

  4. 十二、 Spring Boot 静态资源处理

    spring Boot 默认为我们提供了静态资源处理,使用 WebMvcAutoConfiguration 中的配置各种属性. 建议大家使用Spring Boot的默认配置方式,如果需要特殊处理的再通 ...

  5. Spring Boot + MyBatis + Pagehelper 配置多数据源

    前言: 本文为springboot结合mybatis配置多数据源,在项目当中很多情况是使用主从数据源来读写分离,还有就是操作多库,本文介绍如何一个项目同时使用2个数据源. 也希望大家带着思考去学习!博 ...

  6. Spring Boot 打包成的可执行 jar ,为什么不能被其他项目依赖?

    前两天被人问到这样一个问题: "松哥,为什么我的 Spring Boot 项目打包成的 jar ,被其他项目依赖之后,总是报找不到类的错误?" 大伙有这样的疑问,就是因为还没搞清楚 ...

  7. spring boot打包以及centos下部署

    spring boot打包以及部署 一.打包 springboot的打包方式有很多种.有打成war的,有打成jar的,也有直接提交到github,通过jekins进行打包部署的.这里主要介绍如何打成j ...

  8. Spring Boot 静态资源处理

    spring Boot 默认的处理方式就已经足够了,默认情况下Spring Boot 使用WebMvcAutoConfiguration中配置的各种属性. 建议使用Spring Boot 默认处理方式 ...

  9. spring boot web相关配置

    spring boot集成了servlet容器,当我们在pom文件中增加spring-boot-starter-web的maven依赖时,不做任何web相关的配置便能提供web服务,这还得归于spri ...

随机推荐

  1. ubuntu搭建gerrit+gitweb代码审核系统

    一.Gerrit的简介 Gerrit是Google开源的一套基于web的代码review工具,它是基于git的版本管理系统.Google开源Gerrit旨在提供一个轻量级框架,用于在代码入库之前对每个 ...

  2. crt0.o

    crt1.o, crti.o, crtbegin.o, crtend.o, crtn.o 等目标文件和daemon.o(由我们自己的C程序文件产生)链接成一个执行文件.前面这5个目标文件的作用分别是启 ...

  3. fastjson简单使用demo,@JSONField注解属性字段上与set、get方法上。实体类toString(),实体类转json的区别;_下划线-减号大小写智能匹配

    一.demo代码 @JSONField注解属性字段上与set.get方法上.使用@Data注解(lombok插件安装最下方),对属性“笔名”[pseudonym]手动重写setter/getter方法 ...

  4. 更优雅地关闭资源 - try-with-resource

    https://www.cnblogs.com/hihtml5/p/6505317.html

  5. spring+mybatis 多数据源的配置

    方式一: 参见博客https://www.cnblogs.com/AmbitiousMice/p/6027674.html 此种方式每次需要在调用dao的时候设置对应的数据源. 方式二: 直接在myb ...

  6. DevExpress ASP.NET Core v19.1版本亮点:数据网格和树列表

    行业领先的.NET界面控件DevExpress 发布了v19.1版本,本文将以系列文章的方式为大家介绍DevExpress ASP.NET Core Controls v19.1中新增的一些控件及增强 ...

  7. [人物存档]【AI少女】【捏脸数据】1224今日份的推荐

    点击下载(城通网盘):AISChaF_20191111222714074.png 点击下载(城通网盘):AISChaF_20191108141610951.png

  8. CSS3做出条纹大背景

    ㈠实现不等宽背景条纹   实现如上图所示的效果,代码如下: <!DOCTYPE html> <html lang="en"> <head> &l ...

  9. 洛谷 P2820 局域网x

    题目背景 某个局域网内有n(n<=100)台计算机,由于搭建局域网时工作人员的疏忽,现在局域网内的连接形成了回路,我们知道如果局域网形成回路那么数据将不停的在回路内传输,造成网络卡的现象.因为连 ...

  10. 小程序开发获取token值

    // 登录 wx.login({ success: res => { // 发送 res.code 到后台换取 openId, sessionKey, unionId // console.lo ...