首页 > 解决方案 > 如何抑制 Octave io 包加载警告:“OpenJDK 64-Bit Server VM warning: Archived ... java.system.class.loader 属性

问题描述

Octave 中有没有办法抑制下面的 io 包加载警告消息:

OpenJDK 64 位服务器 VM 警告:已禁用存档的非系统类,因为指定了 java.system.class.loader 属性(值 =“org.octave.OctClassLoader”)。要使用归档的非系统类,不得设置此属性

我无法控制 io 包加载正在做什么,我的程序的其余部分工作正常。但是它如何使控制台输出混乱是非常烦人的。

我在 Xubuntu 18.04 中运行八度脚本

谢谢!

标签: javaubuntuiooctave

解决方案


这似乎已在Octave 错误 #55174中得到修复。

Hackish 解决方法(二进制编辑 Octave 库):

cp -ai /usr/lib/x86_64-linux-gnu/liboctinterp.so.7.0.1 a
bbe -e 's/-Djava.system.class.loader=org.octave.OctClassLoader/-Dfoo=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/' a > b
ls -l a b  # Make sure the binary edit did not change the file length!
chmod 644 b
sudo cp -ai b /usr/lib/x86_64-linux-gnu/liboctinterp.so.7.0.1
sudo chown root.root /usr/lib/x86_64-linux-gnu/liboctinterp.so.7.0.1

推荐阅读