OpenJDK 64 位服务器 VM 警告:已禁用存档的非系统类(树脂、Ubuntu、OpenJDK 11)
Posted
技术标签:
【中文标题】OpenJDK 64 位服务器 VM 警告:已禁用存档的非系统类(树脂、Ubuntu、OpenJDK 11)【英文标题】:OpenJDK 64-Bit Server VM warning: Archived non-system classes are disabled (resin, Ubuntu, OpenJDK 11) 【发布时间】:2020-07-25 23:15:34 【问题描述】:多年来,我一直在 Ubuntu 机器上运行这个旧的 Caucho Resin (4.0.41)。我需要淘汰那台服务器,所以我试图在新的 Ubuntu 18.04.4 服务器上设置树脂 4.0.64,经过大量的摸索和摆弄,它正在启动,但最终在早期失败了:
OpenJDK 64-Bit Server VM warning: Archived non-system classes are disabled because the java.system.class.loader property is specified (value = "com.caucho.loader.SystemClassLoader"). To use archived non-system classes, this property must be not be set
Error occurred during initialization of VM
java.lang.Error: com.caucho.loader.SystemClassLoader
at java.lang.ClassLoader.initSystemClassLoader(java.base@11.0.6/ClassLoader.java:1989)
at java.lang.System.initPhase3(java.base@11.0.6/System.java:2069)
Caused by: java.lang.ClassNotFoundException: com.caucho.loader.SystemClassLoader
at jdk.internal.loader.BuiltinClassLoader.loadClass(java.base@11.0.6/BuiltinClassLoader.java:581)
at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(java.base@11.0.6/ClassLoaders.java:178)
at java.lang.ClassLoader.loadClass(java.base@11.0.6/ClassLoader.java:521)
at java.lang.Class.forName0(java.base@11.0.6/Native Method)
at java.lang.Class.forName(java.base@11.0.6/Class.java:398)
at java.lang.ClassLoader.initSystemClassLoader(java.base@11.0.6/ClassLoader.java:1975)
at java.lang.System.initPhase3(java.base@11.0.6/System.java:2069)
我似乎无法通过谷歌搜索找到任何结果,也找不到任何明显设置 java.system.class.loader
的内容。
有什么建议吗?谢谢!
【问题讨论】:
【参考方案1】:在提出此问题大约 1 个月后,octave issue tracker 中讨论了类似的错误。他们推测 -Djava.system.class.loader=XXX
行是作为旧 Sun JVM 的解决方法而添加的。现在使用了其他 JVM,它们有一个补丁可以防止设置该属性。
我从 octave 调用了以下 java 代码,这在我的情况下有效:
java.lang.System.clearProperty("java.system.class.loader")
【讨论】:
我终于针对 Spring Boot 重写了我的应用程序,所以我无法对此进行测试,但感谢您的回答!以上是关于OpenJDK 64 位服务器 VM 警告:已禁用存档的非系统类(树脂、Ubuntu、OpenJDK 11)的主要内容,如果未能解决你的问题,请参考以下文章
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00007f6cb1055000, 16384, 0) failed; erro
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000083e80000, 1366294528, 0) failed;
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x000001faf3e50000
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory failed error='Cannot allocate memory
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c0000000, 1073741824, 0) failed;