大佬教程收集整理的这篇文章主要介绍了模块 java.base 不会“打开 java.lang.reflect”到模块 com.jfoenix 关于为什么会发生这种情况的任何想法? (我的猜测是我的 module-info.java 是解决它的关键,因为每次我删除一个“opens”语句,例如:“opens my.package.name to javafx.fxml”,程序让我几乎相同的错误)。,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在开始描述我是如何收到此错误之前,这里有一些重要信息:
好的,让我们来看看我的问题:
首先,关注下面的 VM 参数:
"--add-opens=java.base/java.lang.reflect=com.jfoenix",
如果我不使用这个参数,程序运行时会弹出如下错误:
java.lang.reflect.InaccessibLeobjectException: Unable to make Boolean java.lang.reflect.AccessibLeobject.setAccessible0(Boolean)
accessible: module java.base does not "opens java.lang.reflect" to module com.jfoenix
重要 -> 这是我的视图在不使用提到的 VM 参数的情况下的显示方式(我们称之为图像 1): https://snipboard.io/QJ5Fdc.jpg
“好吧,那你为什么不直接使用 VM 参数呢?” 好问题!好的,让我们将其添加到我的 VM 参数中并再次运行该程序。
这样做之后,这就是我现在的视图(我们称之为图像 2):https://snipboard.io/fbhGxw.jpg
太好了!这正是我的观点应有的样子(请注意,考虑到它按预期工作,这次我没有错误)。
所以,在一切正常的情况下,我终于可以继续运行我的 jpackage gradle 任务了。这样做之后,事情就没有意义了,因为在通过 .exe(由 jpackage 生成)执行我的程序后,我的视图看起来像“图像 1”视图,无论我的项目在使用“运行”gradle 任务。
让我知道是否需要任何代码示例。我们将不胜感激。谢谢!
编辑:相关的 GitHub 问题:enter link description here
我不知道 jpackage gradle 任务是如何工作的,我通过控制台在 jdk 中使用 jpackage 工具,并在创建包时使用了这个参数
--java-options "--add-opens com.gluonhq.scenebuilder.kit/com.Oracle.javafx.scenebuilder.kit.util.control.paintpicker=javafx.fxml --add-opens com.gluonhq.scenebuilder.kit/com.Oracle.javafx.scenebuilder.kit.util.control.paintpicker.colorpicker=javafx.fxml"
在那里,我将 PaintPicker 从场景构建器工具包打开到 javafx.fxml
如您所见,我必须打开两个包(它们实际上是五个,但放在这里太多了),并且您必须为每个要打开的包指定 --add-opens
我把用来打包应用程序的代码 y 放在 jpackage 中
jpackage.exe
--module-path
.;D:\builds\ikonlibrowser\target\ikonlibrowser.jar;
D:\builds\ikonlibrowser\libs\icons\ikonli-antdesignicons-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-bootstrapicons-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-boxicons-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-bpmn-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-captainicon-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-carbonicons-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-coDicons-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-coreui-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-dashicons-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-devicons-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-elusive-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-entypo-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-evaicons-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-feather-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-fileicons-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-fluentui-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-fontawesome-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-fontawesome5-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-fontelico-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-foundation-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-hawcons-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-icomoon-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-ionicons-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-ionicons4-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-jamicons-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-ligaturesymbols-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-lineawesome-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-linecons-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-maki-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-maki2-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-mapicons-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-material-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-material2-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-materialdesign-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-materialdesign2-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-meDicons-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-metrizeicons-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-microns-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-ociicons-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-octicons-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-openiconic-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-paymentfont-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-prestashopicons-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-remixicon-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-runestroicons-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-simpleicons-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-simplelineicons-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-subway-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-themify-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-typicons-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-unicons-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-weathericons-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-websymbols-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-whhg-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-win10-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\icons\ikonli-zonDicons-pack-12.2.0.jar
D:\builds\ikonlibrowser\libs\scenebuilder-kit-16.0.0.jar;
D:\builds\ikonlibrowser\libs\jfoenix-9.0.10.jar
D:\builds\ikonlibrowser\libs\ikonli-core-12.2.0.jar;
D:\builds\ikonlibrowser\libs\ikonli-javafx-12.2.0.jar
--module jcc.app.ikonlibrowser/jcc.app.ikonlibrowser.Main
--name "Ikonli Browser" -d D:\builds\ikonlibrowser
--win-dir-chooser
--input D:\builds\ikonlibrowser\app
--vendor jCC
--app-version "1.0.0"
--java-options
"--add-opens com.gluonhq.scenebuilder.kit/com.Oracle.javafx.scenebuilder.kit.util.control.paintpicker=javafx.fxml
--add-opens com.gluonhq.scenebuilder.kit/com.Oracle.javafx.scenebuilder.kit.util.control.paintpicker.colorpicker=javafx.fxml
--add-opens com.gluonhq.scenebuilder.kit/com.Oracle.javafx.scenebuilder.kit.util.control.paintpicker.rotator=javafx.fxml
--add-opens com.gluonhq.scenebuilder.kit/com.Oracle.javafx.scenebuilder.kit.util.control.paintpicker.slider=javafx.fxml
--add-opens com.gluonhq.scenebuilder.kit/com.Oracle.javafx.scenebuilder.kit.util.control.paintpicker.gradientpicker=javafx.fxml"
当然这只是一行。
下面我来一步步解释:--module-path
此参数用于指定您的应用程序使用的所有模块的路径。包括应用程序 .jar--module
此参数指定应用程序的主类。首先是模块名称,然后是类的全名。--name
这是指定应用名称。-d
指定输出路径。--win-dir-chooser
提供安装打包应用时选择安装路径的选项--input
指定包含应用程序外部资源的文件夹--vendor
供应商的名称。也许你的名字--app-version
您的应用程序版本--java-options
jvm 选项
希望对你有用,抱歉耽误了。
以上是大佬教程为你收集整理的模块 java.base 不会“打开 java.lang.reflect”到模块 com.jfoenix 关于为什么会发生这种情况的任何想法? (我的猜测是我的 module-info.java 是解决它的关键,因为每次我删除一个“opens”语句,例如:“opens my.package.name to javafx.fxml”,程序让我几乎相同的错误)。全部内容,希望文章能够帮你解决模块 java.base 不会“打开 java.lang.reflect”到模块 com.jfoenix 关于为什么会发生这种情况的任何想法? (我的猜测是我的 module-info.java 是解决它的关键,因为每次我删除一个“opens”语句,例如:“opens my.package.name to javafx.fxml”,程序让我几乎相同的错误)。所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。