maven插件加载依赖的类
文章目录
- 前言
- 思路
- 解析
- maven生命周期
- 借鉴文章
前言
最近在写maven插件,遇到一个问题是classload不能加载依赖的类,比如说引入jar的类。
我之前怎么使用的呢?就用网上常见的mavenproject去获取路径,然后classload进行加载进去,这种其实只能加载本项目的类。那如果加载依赖的项目的类呢?
思路
请教了隔壁老哥,他说maven打包之后会有一棵树结构,你只要解析这棵树,就能加载出来了。这颗树哪里来呢,就是打包之后jar,解压之后就有。
这里借鉴下其他博客的图
解析
Boot-INF 是编译之后的class类
META-INF 是一些配置,比如指向哪些类是启动类
spring-load 是加载器,它里面会有JarLauncher,WarLauncher
实现方式:
就是重写JarLauncher,将jar路径写进入,然后使用URLClassload根据文件url创建加载器,这样就能加载依赖的类了。
maven生命周期
如果你要加载这些类,需要在install阶段,因为package是在打包,install是安装到本地
借鉴文章
- Jar包的启动实现还不会?看这篇SpringBoot源码分析让你彻底搞懂
maven插件加载依赖的类相关推荐
- idea2020更新了maven自动加载依赖
maven 自动加载依赖 当idea推出2020 版本以后 ,取消了maven 原本的自动加载依赖的设置,那么新版如何加载依赖呢 右上角m 小图标就是加载依赖的按钮 当 鼠标翻上去以后 会显示快捷键c ...
- 解决IDEA中Maven加载依赖包慢的问题
解决IDEA中Maven加载依赖包慢的问题 参考文章: (1)解决IDEA中Maven加载依赖包慢的问题 (2)https://www.cnblogs.com/ouym/p/6106450.html ...
- maven加载依赖时总是Updating [central] https://repo.maven.apache.org/maven2
最近在使用maven添加依赖的时候,动不动idea就会从Updating [central] https://repo.maven.apache.org/maven2开始下载1.23G的文件.即使在m ...
- Android 插件化原理解析——插件加载机制
上文 Activity生命周期管理 中我们地完成了『启动没有在AndroidManifest.xml中显式声明的Activity』的任务:通过Hook AMS和拦截ActivityThread中H类对 ...
- vscode安装swift插件_使用 Webpack 优化 VS Code 插件加载性能
Webpack 这一 JS 模块打包神器相信大家都不陌生了.由于 VS Code 插件大部分也都是 JS/TS 代码 + 依赖库的形式,因此也可以使用 Webpack 打包,优化性能. 经过实测,经过 ...
- Java在加载阶段会加载依赖吗,Java程序编译和运行过程之 一个对象的生命之旅(类加载和类加载器)...
Java程序从创建到运行要经过两个大步骤 1:源文件(.java)由编译器编译成字节码ByteCode(.class) 2:字节码由Java虚拟机解释并运行 源文件编译成字节码,主要分成两个部分: 1 ...
- 如何让插件加载到Qt Designer
本文介绍的是如何让插件加载到Qt Designer,插件是一种遵循一定规范的应用程序接口编写出来的程序,对于Qt Designer不多做介绍了,先看内容吧. 本文介绍的是如何使自定义的插件加载到Qt ...
- datax底层原理_Datax 插件加载原理
Datax 插件加载原理 插件类型 Datax有好几种类型的插件,每个插件都有不同的作用. reader, 读插件.Reader就是属于这种类型的 writer, 写插件.Writer就是属于这种类型 ...
- ArcGIS\QGIS无插件加载(无偏移)MapBox高清影像图
喜欢就关注我们吧! 首先介绍一下MapBOX. Mapbox 是用于移动和 Web 应用程序的位置数据平台.用户可以使用Mapbox Studio创建一个自定义.交互式的地图,然后可以将这些自定义的地 ...
最新文章
- 重磅丨2018年中国人工智能行业研究报告(77页PPT)
- 照片你随便拍,「光影」我任意调,MIT谷歌新研究,器材党老法师看了会沉默...
- SQL 2014新特性- Delayed durability
- Caffe、TensorFlow、MXnet三库对比
- 显示内容长时,显示部分内容,鼠标移入显示全部内容
- SQL中读取Excel 以及 bpc语言
- 第四章 数据的概括性度量
- easyui汉化啊!
- PDF格式分析(六十五) Text 文字——字体数据结构
- 【U盘量产】你的U盘坏了吗
- HashMap和TreeMap排序
- 【信源编码技术】实验1-浊音清音爆破音的时域及频域特性分析
- POE交换机和普通交换机哪里不同
- 程序员木讷?我反手就是一串代码把姑娘撩到幸福地流泪
- 苹果开发者账号开启双重认证步骤
- OpenGL VBO, PBO与FBO
- android 游戏循环 帧速,适用于Android的Firemonkey游戏循环
- 性别分为男子组和女子组
- Zotero BookxNote
- 4台机器完全分布式安装hadoop,bigbrother的补充