报错信息:
java.lang.RuntimeException: Error scanning entry com/ibm/icu/impl/data/LocaleElements_zh__PINYIN.class
java.lang.ArrayIndexOutOfBoundsException: 48188
原因分析:
看看项目中是不是依赖了jaxen 这个jar包并且版本在1.1.4以下
<dependency>
<groupId>jaxen</groupId>
<artifactId>jaxen</artifactId>
<version>1.1.1</version>
</dependency>
因为jaxen1.1.4以下版本依赖XOM,XOM依赖icu4j,icu4j造成的这个问题。
解决办法:
1、升级pom中的jaxen至1.1.4或更高版本。因为jaxen自1.1.4版本开始已经不依赖XOM.jar了,自然也不需要icu4j了,没有这个包自然就不用担心它报错了。
<dependency>
<groupId>jaxen</groupId>
<artifactId>jaxen</artifactId>
<version>1.1.4</version>
</dependency>
2、排除icu4j依赖
<dependency>
<groupId>jaxen</groupId>
<artifactId>jaxen</artifactId>
<version>1.1.1</version>
<exclusions>
<exclusion>
<groupId>com.ibm.icu</groupId>
<artifactId>icu4j</artifactId>
</exclusion>
</exclusions>
</dependency>