如何 运行 使用带有 --enable-preview 标签的 JavaFx 的 jar cmd/terminal?
How to run a jar that uses JavaFx with the --enable-preview tag in cmd/terminal?
编辑: 更新了我的问题以更好地反映我的问题所在。原始问题:有没有办法阻止在 VScode 中导出的 Jar 文件使用 --enable-preview 进行编译?
我正在 VScode 中开发一个使用 JavaFX 的 java 项目。每当我使用 Export Jar button 导出项目的 jar 并尝试在 cmd 中 运行 jar 时,我不断收到此错误:
Error: LinkageError occurred while loading main class MyProgram
java.lang.UnsupportedClassVersionError: Preview features are not enabled
for MyProgram (class file version 61.65535). Try running with '--enable-preview'
每当我尝试使用 --enable-preview 标签时,我都会得到以下信息:
Error: JavaFX runtime components are missing, and are required to run this application
这是我的 JDK 我使用的是 JavaFX 版本 17.0.1。
openjdk version "17.0.1" 2021-10-19 LTS
OpenJDK Runtime Environment Microsoft-28056 (build 17.0.1+12-LTS)
OpenJDK 64-Bit Server VM Microsoft-28056 (build 17.0.1+12-LTS, mixed mode, sharing)
类似问题的其他解决方案似乎是具有多个 JDK 的问题,但我只在我的设备上下载了这个 JDK,而且我只下载过这个版本。 JavaFX 已正确配置到我的项目,我的 JAVA_HOME 路径是 JDK 文件夹,路径的路径是 JDK bin。
程序 运行 当我在 VScode 中 运行 时它很好,当我导出 jar 并尝试在 cmd 或终端中 运行 它时弹出错误。
我用基本的 print hello world jar(不使用 JavaFX)对其进行了测试,我也遇到了同样的错误,但是当我 运行 使用 --enable-preview 标签时没有出现错误。
感谢您在评论和此 blog 中提供的帮助,将以下内容添加到您的 VM 参数中:
--module-path path/to/your-version-of-javafx/lib" --add-modules javafx.controls,javafx.fxml
和运行在cmd/terminal
中执行以下命令
java --enable-preview --module-path path/to/your-version-of-javafx/lib" --add-modules javafx.controls,javafx.fxml -jar MyProgram.jar
允许 jar 运行 没有错误。
该博客还有其他 solutions/methods 来处理这个问题。
编辑: 更新了我的问题以更好地反映我的问题所在。原始问题:有没有办法阻止在 VScode 中导出的 Jar 文件使用 --enable-preview 进行编译?
我正在 VScode 中开发一个使用 JavaFX 的 java 项目。每当我使用 Export Jar button 导出项目的 jar 并尝试在 cmd 中 运行 jar 时,我不断收到此错误:
Error: LinkageError occurred while loading main class MyProgram
java.lang.UnsupportedClassVersionError: Preview features are not enabled
for MyProgram (class file version 61.65535). Try running with '--enable-preview'
每当我尝试使用 --enable-preview 标签时,我都会得到以下信息:
Error: JavaFX runtime components are missing, and are required to run this application
这是我的 JDK 我使用的是 JavaFX 版本 17.0.1。
openjdk version "17.0.1" 2021-10-19 LTS
OpenJDK Runtime Environment Microsoft-28056 (build 17.0.1+12-LTS)
OpenJDK 64-Bit Server VM Microsoft-28056 (build 17.0.1+12-LTS, mixed mode, sharing)
类似问题的其他解决方案似乎是具有多个 JDK 的问题,但我只在我的设备上下载了这个 JDK,而且我只下载过这个版本。 JavaFX 已正确配置到我的项目,我的 JAVA_HOME 路径是 JDK 文件夹,路径的路径是 JDK bin。
程序 运行 当我在 VScode 中 运行 时它很好,当我导出 jar 并尝试在 cmd 或终端中 运行 它时弹出错误。
我用基本的 print hello world jar(不使用 JavaFX)对其进行了测试,我也遇到了同样的错误,但是当我 运行 使用 --enable-preview 标签时没有出现错误。
感谢您在评论和此 blog 中提供的帮助,将以下内容添加到您的 VM 参数中:
--module-path path/to/your-version-of-javafx/lib" --add-modules javafx.controls,javafx.fxml
和运行在cmd/terminal
中执行以下命令java --enable-preview --module-path path/to/your-version-of-javafx/lib" --add-modules javafx.controls,javafx.fxml -jar MyProgram.jar
允许 jar 运行 没有错误。
该博客还有其他 solutions/methods 来处理这个问题。