之前曾询问过错误module {a} does not“opens {package}” to module {B}
,其中 explanation and solution was provided .
解决方案是在运行 jar 文件时将以下 --add-opens
VM 参数添加到命令行,如下所示:
java -jar --add-opens=java.base/java.lang=ALL-UNNAMED some_jar_file.jar
我有一个运行 Java-11.0.6
和 javafx-sdk-14
的 JavaFX 程序,该程序在 Eclipse 版本:2019-09 R (4.13. 0)
。当我将项目导出为可运行的 jar 文件时,当我从命令提示符运行 jar 文件时,上述修复会起作用。
但是,当我尝试将 VM 参数修复应用于 Eclipse 以便可以在 Eclipse 内运行我的程序时,我得到原始 module {a} does not “opens {package}” to module {B }
错误:
我是否误解了该修复,错误地使用了 eclipse VM 参数,或者这是 Eclipse 的问题?我的公司有 2020-06 版本的 Eclipse,我可以尝试一下,但由于模块是在 Java9 年前引入的,我怀疑它会有帮助。
注意:我已确保我的 Eclipse 配置为使用 Java 11 作为其 VM:
编辑 1:我的 Eclipse 命令行如下:C:\Program Files\Java\jdk-11.0.6\bin\javaw.exe --add-opens= java.base/java.lang=ALL-UNNAMED -Dfile.encoding=Cp1252 -p "C:\Users\BL89306\eclipse-workspace\cto_emi_aat\bin;C:\Program Files\Java\javafx-sdk-14\lib\javafx.base.jar;C:\Program Files\Java\javafx-sdk-14\lib\javafx.controls.jar;C:\Program Files\Java\javafx-sdk-14\lib\javafx.fxml.jar ;C:\Program Files\Java\javafx-sdk-14\lib\javafx.graphics.jar;C:\Program Files\Java\javafx-sdk-14\lib\javafx.media.jar;C:\Program Files\Java\javafx-sdk-14\lib\javafx.swing.jar;C:\Program Files\Java\javafx-sdk-14\lib\javafx.web.jar;C:\Program Files\Java\javafx-sdk -14\lib\javafx-swt.jar;C:\Users\BL89306\eclipse-workspace\cto_emi_aat\lib\com.ibm.mq.allclient-9.2.0.1.jar;C:\Users\BL89306\eclipse-workspace\cto_emi_aat\lib\gson-2.8.6.jar;C:\Users\BL89306\eclipse-workspace\cto_emi_aat\lib\ikonli-javafx-11.3.5-sources.jar;C:\Users\BL89306\eclipse-workspace\cto_emi_aat\lib\ikonli-javafx-11.3.5.jar;C:\Program Files\Microsoft JDBC DRIVER 6.0 for SQL Server\sqljdbc_6.0\enu\jre8\sqljdbc42.jar;C:\Users\BL89306\eclipse-工作区\cto_emi_aat\lib\jaxb-api-2.3.1.jar"-m AAT/com.thehartford.aat.gui.AATApp
最佳答案
--add-opens=java.base/java.lang=ALL-UNNAMED
打开 java.lang
包 java.base
模块到ALL-UNNAMED
模块,该模块是类路径上的所有内容。但类路径上什么都没有。如果您的所有代码都位于 AAT
模块中(带有 main 方法的类所在的位置),则为:
--add-opens=java.base/java.lang=AAT
关于java - 修复 Eclipse 中的模块 {a} 不会 "opens {package}"到模块 {B},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65094624/