java - java.lang.NoClassDefFoundError:无法初始化类 sun.text.normalizer.NormalizerImpl
问题描述
我在运行 oracle jdk 1.8.0_221 (64Bit) 的 wildfly 13 服务器上遇到以下错误。NormalizerImpl 是 rt.jar 中的一个类,应该始终可用。所以这不是普通的 ClassNotFound。
> 2019-07-25 13:56:38,914 ERROR [io.undertow.request] (default task-20)
> UT005023: Exception handling request to
> /myServletPath:
> java.lang.NoClassDefFoundError: Could not initialize class
> sun.text.normalizer.NormalizerImpl at
> java.text.RBTableBuilder.build(RBTableBuilder.java:107) at
> java.text.RBCollationTables.<init>(RBCollationTables.java:83) at
> java.text.RuleBasedCollator.<init>(RuleBasedCollator.java:300) at
> java.text.RuleBasedCollator.<init>(RuleBasedCollator.java:281) at
> sun.util.locale.provider.CollatorProviderImpl.getInstance(CollatorProviderImpl.java:106)
> at java.text.Collator.getInstance(Collator.java:242)
或类似的
java.lang.NoClassDefFoundError: Could not initialize class sun.text.normalizer.NormalizerImpl
at sun.text.normalizer.NormalizerBase.isNormalized(NormalizerBase.java:1671)
at sun.text.normalizer.NormalizerBase.isNormalized(NormalizerBase.java:1652)
at java.text.Normalizer.isNormalized(Normalizer.java:177)
我用谷歌搜索了它,但没有发现太多,奇怪的是,在 SO 上什么也没有;-)
解决方案
我刚刚发现的一个提示是
(1)
当无法打开 JVM jar 文件 resources.jar 导致类 sun.text.normalizer.NormalizerImpl 初始化期间失败并因此引发 java.lang.NoClassDefFoundError 时,会发生该错误。问题很可能是连接用户对 JVM 目录的权限不正确。它可以通过授予组和其他人的读取权限来解决:drwxr-xr-x。
(2) 或者他们重新启动...
推荐阅读
- javascript - MediaRecorder API 录制器在录制多个音轨时不会调用 onstop
- swift - 从一个视图转到另一个视图时的 CALayerInvalidGeometry
- html - 一些元素在添加特色标签时下浮 - CSS
- c++ - Codeforces 上的编译错误,使用 MS Visual Studio 2019 C++
- c++ - 在构造函数c ++中实例化指向对象向量的指针
- java - 从 AAC 文件中获取采样率、比特率和比特深度
- python - Pygame如何在我的游戏中设置碰撞,我不明白
- python - 如何在 python 中使用 openCV 检测圆圈?
- python-3.x - 将列表列表转换为字典
- java - 如何从 Java 8 中的流中收集自定义类对象?