javafx-idea创建openjfx项目

46 篇文章 0 订阅
    /**
     *2022年11月30日10:31:06
     * 使用jdk19 创建javafx
     * 1. 下载jdk19  openjfx-19_windows-x86_bin-sdk,并创建jdk19的javafx项目
     * 2. 将C:\Users\xx\Downloads\openjfx-19_windows-x86_bin-sdk (1)\javafx-sdk-19\lib的包考到项目中
     * 3. 运行报错Unable to make protected void java.util.ResourceBundle.setParent(java.util.ResourceBundle) accessible: module java.base does not "opens java.util" to unnamed module @34b7ac2f
     * 4. 是一个bug 这篇文章记录一下,自己 电脑使用java17 之后,idea 启动项目报的bug.. 就是上面这个bug,解决办法
     * 5. 解决办法:idea 启动类的地方添加如下参数 Environment variables --add-opens java.base/java.lang=ALL-UNNAMED
     * 6. 查看了https://openjfx.io/openjfx-docs/#install-javafx文章
     * 7. 在language11的时候可以使用module-info.java配置如下
     * module fx19 {
     *     requires javafx.controls;
     *     requires javafx.fxml;
     *     opens sample to javafx.fxml;
     *     exports sample;
     * }
     * 8. 运行,问题解决
     * 9. 后面增加webview组件时,运行webview报错: Cannot invoke "javafx.scene.web.WebView.getEngine()" because "this.webView" is null
     * 10.添加vm参数--module-path ${PATH_TO_FX}:mods/production改成绝地路径又报错 Module javafx.controls not found, required by fx19
     * --module-path=javafx.controls,javafx.fxml,javafx.web,javafx.base,javafx.swing,javafx.swt,javafx.graphics,javafx.media
     * 11.原来10中的module-path加的有问题,正确的应该是:
     * --module-path=javafx.base,javafx.controls,javafx.fxml,javafx.graphics,javafx.media,javafx.swing,javafx.web
     * 12.执行仍然报错 Cannot invoke "javafx.scene.web.WebView.getEngine()" because "this.webView" is null
     * 13. 未解决
     * 14. 更换了openjdk17也不行
     * 15. 其他openjdk没有jre可以通过命令获得:在openjdk的目录中,执行 bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre
     *
     * 2022年12月1日09:06:13
     * 16. 配置JAVA_HOME不生效问题:
     * cmd中where java,可以查看到java.exe的相关目录,其中删除c盘中的java相关exe文件即可
     *
     * 17. 配置后,启动程序报错Error occurred during initialization of boot layer
     * java.lang.module.FindException: Module java.instrument not found
     * 18. ide配置build and run设置成默认即可,不要选择其他的
     * 19. 继续运行仍然报错
     * 20. cmd中查询java有哪些模块>java --list-modules,发现确实没有java.instrument模块,尝试更换到java11
     * 21. 跟换到11后,发现javafx需要授权才能用,改回到19继续测试
     * 22. 怀疑与vm参数有关系
     * --module-path D:\CDesktop\example\fx19\libs --add-modules javafx.controls,javafx.fxml,javafx.web,javafx.base,javafx.swing,javafx.swt,javafx.graphics,javafx.media
     * 23. 添加22又报错java.lang.module.FindException: Module fx19 not found,fx19是本地项目的名字
     * 24. 未解决
     *
     */

module-info.java


module fx19 {

    requires javafx.controls;
    requires javafx.fxml;
    requires javafx.web;
    requires javafx.base;
    requires javafx.swing;
    requires javafx.swt;
    requires javafx.graphics;
    requires javafx.media;



    opens sample to javafx.fxml,javafx.media,javafx.graphics,javafx.swing,javafx.base,javafx.web,javafx.controls;
    exports sample;


}

目录结构
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值