场景:
org.seamless:seamless-xml 库遇到一个源码报错:
org.xml.sax.SAXNotRecognizedException: http://apache.org/xml/features/disallow-doctype-decl
gradle依赖解不了咋办?,只能去下载了对应版本的jar包,改报错点了。
SAXParser 类 这个地方加个try catch
1,拿到jar包放入桌面 C:\Users\cjx\Desktop\jar 下
2,使用jd-gui.exe 打开jar包
3,这里修改SAXParser.class文件 ,选中,file—》save 另存到jar路径下
4,可以把该文件在AndroidStudio中打开,修改,修改后执行以下命令把Java文件重新编译成SAXParser.class文件,上图中CatalogResourceResolver.java,ParserException.java文件在SAXParser.java中被引用,所以一起拷过来,不然会报错
执行:
javac *java
编译当前文件夹内所有的Java文件
javac 提示不是内部命令的 环境变量path配置如下:
5,打包生成class文件后,修改的文件相关class文件都是需要的,如下红框
6,C:\Users\cjx\Desktop\jar\ 路径下新建一个jar ,把seamless-xml-1.1.2.jar拷贝进去
cmd在此处打开执行:
jar -xvf seamless-xml-1.1.2.jar
会解压jar包,得到源码
7,拷贝第五步生成的class文件替换源码下class ,删掉seamless-xml-1.1.2.jar ,待会生成同名的jar
8,执行命令生成seamless-xml-1.1.2.jar
jar -cvf seamless-xml-1.1.2.jar ./
9,seamless-xml-1.1.2.jar生成后需要刷新配置文件
执行
jar umf META-INF/MANIFEST.MF seamless-xml-1.1.2.jar
大功告成,生成的jar就可以替换原来的jar使用了!