JavaFX16:不支持的 JavaFX 配置:类 从 'unnamed module @...' 加载
JavaFX16: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @...'
我在 IntelliJ 上有一个 Maven 多模块项目,它生成 3 个 jar,其中 2 个是可执行文件,另一个是公共资源。
其中一个可执行模块有一个 main class,询问用户是否要使用 CLI 或 GUI 启动程序。
运行 这个来自 IntelliJ 的 main 没有问题,而不是当我使用 Maven 制作 jar 时(使用 maven shade):
mvn package -pl myModule -am
然后使用 GUI 选项启动 jar,出现此警告:
com.sun.javafx.application.PlatformImpl startup
WARNING: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @...'
然后 GUI 启动没有问题。
我怎样才能摆脱这个警告?
我的项目的JDK是openJDK 16(我已经添加了module-info.java
以便与javafx一起工作),openJFX 16,maven shade plugin 3.2.4,maven compiler plugin 3.8 .1.
如果需要添加更多信息,我会添加它们。
似乎 Maven 正在将 JavaFX 罐子着色到一个单一的胖罐子中。
无法将多个模块着色到同一个 jar 中,因为一个 jar 只能包含 1 个模块。所以,我想 shade 插件通过删除它正在使用的依赖项的模块信息文件来解决这个问题,这意味着 JavaFX 代码不会作为模块加载,你会收到这样的警告。
我认为消除警告的唯一方法是不使用阴影,而是将 JavaFX 模块保留为单独的 jar 文件,然后在 运行 应用程序时将其放在模块路径中。
我在 IntelliJ 上有一个 Maven 多模块项目,它生成 3 个 jar,其中 2 个是可执行文件,另一个是公共资源。
其中一个可执行模块有一个 main class,询问用户是否要使用 CLI 或 GUI 启动程序。
运行 这个来自 IntelliJ 的 main 没有问题,而不是当我使用 Maven 制作 jar 时(使用 maven shade):
mvn package -pl myModule -am
然后使用 GUI 选项启动 jar,出现此警告:
com.sun.javafx.application.PlatformImpl startup
WARNING: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @...'
然后 GUI 启动没有问题。
我怎样才能摆脱这个警告?
我的项目的JDK是openJDK 16(我已经添加了module-info.java
以便与javafx一起工作),openJFX 16,maven shade plugin 3.2.4,maven compiler plugin 3.8 .1.
如果需要添加更多信息,我会添加它们。
似乎 Maven 正在将 JavaFX 罐子着色到一个单一的胖罐子中。
无法将多个模块着色到同一个 jar 中,因为一个 jar 只能包含 1 个模块。所以,我想 shade 插件通过删除它正在使用的依赖项的模块信息文件来解决这个问题,这意味着 JavaFX 代码不会作为模块加载,你会收到这样的警告。
我认为消除警告的唯一方法是不使用阴影,而是将 JavaFX 模块保留为单独的 jar 文件,然后在 运行 应用程序时将其放在模块路径中。