Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取重新资源包“;com.sun.swing.internal.plaf.metal.resources.metal“;在Java10中_Java_Swing_Resourcebundle_Java Platform Module System_Java 10 - Fatal编程技术网

获取重新资源包“;com.sun.swing.internal.plaf.metal.resources.metal“;在Java10中

获取重新资源包“;com.sun.swing.internal.plaf.metal.resources.metal“;在Java10中,java,swing,resourcebundle,java-platform-module-system,java-10,Java,Swing,Resourcebundle,Java Platform Module System,Java 10,我试图让一个运行的Java8应用程序在java10下运行 ResourceBundle bundle1 = ResourceBundle.getBundle ( "com.sun.swing.internal.plaf.metal.resources.metal" ); 在Java 8中,一切正常,但在java10中,我得到以下消息: 原因:java.lang.IllegalAccessException:无法加载未命名模块 组件中的com.sun.swing.internal.plaf.me

我试图让一个运行的Java8应用程序在java10下运行

ResourceBundle bundle1 = ResourceBundle.getBundle ( "com.sun.swing.internal.plaf.metal.resources.metal" );
在Java 8中,一切正常,但在java10中,我得到以下消息:

原因:java.lang.IllegalAccessException:无法加载未命名模块
组件中的com.sun.swing.internal.plaf.metal.resources.metal java.desktop

因此,我阅读了一些关于jigsaw的内容,并发现需要添加以下JavaVm属性:

--add-opens=java.desktop/com.sun.swing.internal.plaf.metal.resources=ALL-UNNAMED

--add-exports=java.desktop/com.sun.swing.internal.plaf.metal.resources=ALL-UNNAMED

但是即使使用这些属性,我也会遇到同样的错误。

com.sun。
请注意:
不应该使用来自“com.sun.*”和“sun.*”包的类。
@andrewhompson我知道不应该使用它们,但是向JavaVM添加解释的属性应该是可以访问的,但是它们不应该被访问,这就是我在这里问这个问题的原因。com.sun.swing.internal.plaf.metal.resources.metal需要无条件开放,这意味着所有模块都需要开放。在命令行上没有办法做到这一点。@AlanBateman谢谢你的回答,但我该怎么做?@AlanBateman,经过多次尝试和错误,我发现--add opens=java.desktop/com.sun.swing.internal.plaf.metal.resources=ALL-UNNAMED和ResourceBundle=ResourceBundle.getBundle(“com.sun.swing.internal.plaf.metal.resources.metal”,Object.class.getModule())可以工作,但我不明白为什么使用ResourceBundle 2=ResourceBundle.getBundle(“com.sun.swing.internal.plaf.metal.resources.metal”)不能工作