如何将外部的Jar包加载进可执行Jar包中
有这么一个场景, 我写了一个dubbo spi扩展jar包 dubbo-ext.jar ; 这个Jar包是不可执行包(没有main函数), 它的作用是对现有运行的dubbo服务做一些增强; 那么这样的一个扩展包,要符合即插即用的原则;要无侵入的增强; 正常情况下我们可能直接在pom文件依赖一下这个包;因为无侵入原则,那么这条路就不能走了; 那可怎么办呢? 1.Tomcat启动方式 如果目标服务是用Tomcat启动的,那么很简单,我们可以直接把我们的扩展jar包 dubbo-ext.jar 扔进lib文件夹下面;Tomcat会自动为我们加载这些jar包; 2. java -jar 启动方式 我们现在大部分的项目都会选择SpringBoot框架; 最常用的打包方式是打成 jar 包;然后使用 javar -jar XXX.jar 的启动方式; 但是这样的话, jar包已经打好了, 我们怎么把我们的扩展包 dubbo-ext.jar 放入到 XXX.jar 中呢? 解压 XXX.jar 包,然后把我们的扩展包 dubbo-ext.jar 扔到 BOOT-INF/lib 中; 然后重新打包; 这种方式应该是也可以实现的; 但是却比较繁琐;这里推荐第二种方式 使用命令 jar -uf0 XXX.jar BOOT-INF/lib/ 直接将我们的扩展包 dubbo-ext.jar 直接放到