INI4J仅从Libs目录起作用,而不是Maven



我正在尝试在助手IDE中编译的Android应用中使用INI4J。当我将ini4j-0.5.4.jar放在应用程序中的libs文件夹中时,它可以正常工作。但是,当我将ini4j与行compile 'org.ini4j:ini4j:0.5.4'一起包含在build.gradle中时,我会收到错误 bad utf-8 byte a0 at offset 00000004。我已经在Maven目录中检查了JAR文件,并且与我的Libs文件夹中的文件相同。两者都有SHA1 4a3ee4146a90c619b20977d65951825f5675b560。我绝对不知道会导致这一点。

编辑:由于某种原因,它似乎将Xerces作为依赖性,这是已知存在这些问题的库。

根据apache(http://xerces.apache.org/xerces2-j/install.html)xerces.jar.jar现在已弃用并更名为Xercesimpl.jar,因此您必须必须坚持旧罐子。

xerces.jar在主分布中不再可用。您仍然可以从不弃用的发行版中下载此罐子。Xerces.jar是一个JAR文件,其中包含所有解析器类文件(即,它包含Xercesimpl.jar和XML-apis.jar的内容的交点)。

要清楚,技术细节是:

  1. 由于内部文件夹结构,您在Libs文件夹中的旧Xerces.jar正在工作。

  2. 存储库中的新Xerces具有不同的文件夹结构,一些怪异的UTF编码字节助手不了解。

最新更新