首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在cmd/终端中使用JavaFx和启用预览标记来运行jar?

如何在cmd/终端中使用JavaFx和启用预览标记来运行jar?
EN

Stack Overflow用户
提问于 2022-03-20 03:27:04
回答 1查看 182关注 0票数 0

编辑:更新了我的问题,以更好地反映我的问题是什么。原始问题:是否有办法防止VScode中导出的Jar文件使用--启用-预览进行编译?

我正在VScode中开发一个使用JavaFX的java项目。每当我使用出口罐按钮导出项目的jar并尝试在cmd中运行jar时,我都会得到以下错误:

代码语言:javascript
复制
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' 

每当我尝试使用--启用预览标记时,我会得到以下信息:

Error: JavaFX runtime components are missing, and are required to run this application

这是我使用的JDK,我的JavaFX版本为17.0.1。

代码语言:javascript
复制
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文件夹& path的路径是JDK。

程序在VScode中运行时运行良好,当我导出jar并试图在cmd或终端中运行它时,会弹出此错误。

我用一个基本的打印(不使用JavaFX)测试它,我也得到了同样的错误,但是当我使用启用预览标记运行时没有出现错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-21 07:08:16

感谢注释中的帮助&这个博客,将以下内容添加到VM参数中:

--module-path path/to/your-version-of-javafx/lib" --add-modules javafx.controls,javafx.fxml

并在cmd/终端中运行以下命令

java --enable-preview --module-path path/to/your-version-of-javafx/lib" --add-modules javafx.controls,javafx.fxml -jar MyProgram.jar

允许jar无错误地运行。

博客也有其他解决方案/方法来解决这个问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71543809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档