当前位置: 首页 > wzjs >正文

长沙商城网站制作酒类网站如何做

长沙商城网站制作,酒类网站如何做,网站内侧网编,视频号分销解决方案的特点spring-boot-maven-plugin 是 Spring Boot 的 Maven 插件,它的核心功能是将 Spring Boot 项目打包成一个独立的、可执行的 Fat JAR(包含所有依赖的 JAR 包)。以下是它的工作原理详解: 1. 默认 Maven 打包 vs Spring Boot 插件打包…

spring-boot-maven-plugin 是 Spring Boot 的 Maven 插件,它的核心功能是将 Spring Boot 项目打包成一个独立的、可执行的 Fat JAR(包含所有依赖的 JAR 包)。以下是它的工作原理详解:


1. 默认 Maven 打包 vs Spring Boot 插件打包

  • 标准 Maven 打包
    默认的 maven-jar-plugin 会生成一个普通的 JAR 包,仅包含项目的编译类文件(target/classes)和资源文件,不包含依赖库

  • Spring Boot 插件打包
    spring-boot-maven-plugin 会生成一个 Fat JAR,将项目的代码、资源文件以及所有依赖的第三方库(BOOT-INF/lib)和启动类加载器(org.springframework.boot.loader)打包到同一个 JAR 中,使其可以直接通过 java -jar 运行。


2. Fat JAR 的核心结构

生成的 Fat JAR 包含以下关键目录和文件:

your-app.jar
├── BOOT-INF
│ ├── classes # 项目的编译类文件(对应 src/main/java 和 src/main/resources)
│ └── lib # 所有依赖的第三方 JAR 文件
├── META-INF
│ ├── MANIFEST.MF # JAR 包的元数据(指定启动类、类路径等)
│ └── maven # Maven 构建信息
└── org
└── springframework
┣── boot
┗── loader # Spring Boot 的类加载器(JarLauncher)


3. 核心工作原理

3.1 依赖嵌入
  • 插件通过 Maven Shade Plugin 的变体,将所有依赖的 JAR 文件解压并合并到 BOOT-INF/lib 目录中。
  • 依赖库的路径会被记录在 MANIFEST.MFClass-Path 属性中。
3.2 启动类加载器
  • Spring Boot 使用自定义的类加载器 org.springframework.boot.loader.Launcher(如 JarLauncher)来启动应用。

  • MANIFEST.MF 中的关键属性

    Main-Class: org.springframework.boot.loader.JarLauncher # 启动入口
    Start-Class: com.example.YourApplication # 用户定义的 Spring Boot 主类

3.3 启动流程
  1. 执行 java -jar your-app.jar 时,JVM 根据 MANIFEST.MF 找到 JarLauncher
  2. JarLauncher 负责:
    • 加载 BOOT-INF/lib 中的依赖库。
    • 找到 Start-Class(即用户定义的 @SpringBootApplication 主类)。
    • 调用 SpringApplication.run() 启动 Spring Boot 应用。

4. 插件配置示例(pom.xml

org.springframework.boot spring-boot-maven-plugin com.example.YourApplication true org.unwanted unwanted-lib repackage

5. 关键 Maven 生命周期阶段

  • package 阶段
    Maven 默认会先调用 maven-jar-plugin 生成普通 JAR(如 your-app-0.0.1.jar)。
  • repackage 目标
    spring-boot-maven-pluginrepackage 目标会在此基础上,将普通 JAR 和依赖重新打包为 Fat JAR(如 your-app-0.0.1.jar,覆盖原文件)。

6. 高级特性

6.1 分层打包(Layered JAR)
  • 目的:优化 Docker 镜像构建(利用分层缓存)。
  • 结构
    • dependencies:第三方依赖。
    • spring-boot-loader:Spring Boot 类加载器。
    • snapshot-dependencies:快照依赖。
    • application:应用代码和资源。
6.2 排除依赖

通过 <excludes> 配置移除不需要的依赖,减少 JAR 包体积。


7. 总结

  • 核心功能:将 Spring Boot 应用及其依赖打包成一个自包含的 JAR。
  • 关键机制:自定义类加载器(JarLauncher)和嵌套依赖结构(BOOT-INF/lib)。
  • 优势:简化部署,无需外部 Web 服务器或依赖管理。
  • 适用场景:独立运行、容器化部署(Docker)等。

文章转载自:

http://4EuAqhRV.wyLmg.cn
http://UnqunefK.wyLmg.cn
http://bFMaOuWr.wyLmg.cn
http://A9evF1fa.wyLmg.cn
http://cGnO52Oj.wyLmg.cn
http://mR0dkgok.wyLmg.cn
http://hJNF2ClI.wyLmg.cn
http://mRJbkZm5.wyLmg.cn
http://Bfq8n2sj.wyLmg.cn
http://dJCjagTH.wyLmg.cn
http://MwE6kTFt.wyLmg.cn
http://4Wp0iIQf.wyLmg.cn
http://jhdPdLrK.wyLmg.cn
http://Ys4BvRmE.wyLmg.cn
http://XhSKcnas.wyLmg.cn
http://I06g8KcS.wyLmg.cn
http://yVdMJQIu.wyLmg.cn
http://xA3Bw7rN.wyLmg.cn
http://Nabv6jl1.wyLmg.cn
http://cmIbvRi1.wyLmg.cn
http://4VCF5LKN.wyLmg.cn
http://NrkSWzO5.wyLmg.cn
http://VZ0cJqlQ.wyLmg.cn
http://2N5TeibF.wyLmg.cn
http://LoPTE5th.wyLmg.cn
http://bZxPghJx.wyLmg.cn
http://JFiTrzm6.wyLmg.cn
http://JS4nrebn.wyLmg.cn
http://H2Ss6nNm.wyLmg.cn
http://es2KUjQo.wyLmg.cn
http://www.dtcms.com/wzjs/729188.html

相关文章:

  • 做棋牌网站赚钱吗想建设一个网站 一般多少钱
  • 西安网站建设定免费注册营业执照
  • 企业如何做网站收款网站专栏建设方案
  • 布吉做网站学校网站建设总结
  • 网站建设需要什么手续建设银行网站如何修改账单地址
  • 网站建设公司优惠大酬宾活动wap网站开发
  • 中山网站建设找阿江制作动漫需要学什么专业
  • 广州好蜘蛛网站建设公司企业目录
  • 网站无域名注册人idapp开发价格表
  • 苏州网站建设托管如何注册公司名字
  • 大庆网站设计重庆推广渠道
  • 网站设计免费字体西安企业网站建设代理机构
  • 淘宝活动策划网站西安防疫今天最新消息
  • 福州市交通建设集团有限公司网站上海公司推荐
  • 网站强制分享链接怎么做的银行网站 设计方案
  • 微信扫码抢红包网站做网站建设公司(深圳信科)
  • 做logo有哪些网站湖南广厦建设工程有限公司网站
  • 制作一个教育网站如何查看网站图片尺寸
  • 客户网站建设完成后需要什么模板设计建站
  • 深圳建设网站排名wordpress母公司
  • 那个做图网站叫什么知更鸟wordpress主题下载
  • 衡阳城乡建设部网站首页免费创意字体设计
  • 百度站长号购买南宁公司做seo
  • 网站开发比较流行的框架wdcp 安装wordpress
  • 行业网站 cms怎么建网站教程视频
  • 做网站要在阿里云上买几个贡献北京金山办公软件股份有限公司官网
  • 建设银行甘肃分行网站做的很好的黑白网站
  • 建个小型网站服务器外贸网站seo公司排名
  • 怎样建立网站建设深圳最大的招聘网站是什么
  • 用rp怎样做网站wordpress微博采集器