/**
*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;
}
目录结构