一、下载依赖包源码
找到对用的依赖包的类文件,点击Download Sources下载源码
二、 在本地仓库中找到对应的源码jar包解压
三、创建一个新的maven项目
1、下载后的源码文件结构如下图:
2、创建新的maven项目,将源码文件导入项目中
将org 放到src/main/jave下
将META-INF 放到resources包下
将源码中META-INF中的pom放到项目根目录下,作为项目的pom文件。
更改后的maven项目结构如下:
3、更改需要修改的java类
这里拿snakeyaml 2.0与springboot2.x版本不兼容,springboot要加载Representer的无参构造,但是源码文件中没有这个无参构造方法,报错:
java.lang.NoSuchMethodError: org.yaml.snakeyaml.representer.Representer: method <init>()V not found
因此,需要在Representer.java类中添加无参构造方法(红框中的方法)
4、maven打包install或者package都可
这时候可以看到target文件中生成了更改后的Representer.class文件
然后,将源码jar包用压缩软件打开,把源Representer.class替换为更改后的Representer.class
5、手动上传到私服仓库
选择要上传的仓库
选择修改后的jar包上传
上传成功后可在Browse下的maven-public或者maven-release仓库下都能看到2.0.0811版本的snakeyaml即代表成功。