休眠中的Javassist失败:无效的常量类型:60

休眠中的Javassist失败:无效的常量类型:60,第1张

休眠中的Javassist失败:无效的常量类型:60

这个问题最终是由一个无效的类引起的

icu4j-2.6.1
如中可以看到这个帖子。具体来说,此文件无效:

com/ibm/icu/impl/data/LocaleElements_zh__PINYIN.class

这是识别损坏文件的简单方法:

for x in PATH_TO_EXTRACTED_JAR*.class; do    java -cp PATH_TO/javassist.jar javassist.tools.Dump $x >/dev/null 2>&1 || echo "$x is invalid"done

maven通过其传递依赖关系间接包含了此文件,这就是为什么我不认识该页面是指错误,而jar中包含的文件才是导致问题的原因和原因。这就是我的jar-with-
dependencies捆绑包中包含的最终结果:

jaxen-1.1.1 -> xom-1.0 -> icu4j-2.6.1

在将以下排除项添加到

jaxen
依赖项之后,一切对我来说都正常工作(但是,如果需要其本地化部分,请小心):

<exclusions>    <exclusion>        <groupId>com.ibm.icu</groupId>        <artifactId>icu4j</artifactId>    </exclusion></exclusions>

另一个选择是从jar文件中删除有问题的文件:

#!/bin/sh        shopt -s extglobshopt -s globstarfor x in **/*.jar ; do    zip -d $x 'com/ibm/icu/impl/data/*_zh*' >/dev/null 2>&1 && echo "Removed corrupted files from $x"done


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4956775.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-13
下一篇 2022-11-13

发表评论

登录后才能评论

评论列表(0条)

保存