问题标签 [javafx-11]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何为 Openjdk 11 和 Openjfx 11 应用程序构建工件?(智能思想)
我实际上是 openjfx 11 的新手,我已经尝试使用 openjdk 和 openjfx 库在 intellij IDEA 中编译我的项目。但是在我为我的项目构建工件之后,我的项目的 jar 文件没有执行。
我尝试使用 cmd 执行它并看到此错误:
错误:缺少 JavaFX 运行时组件,需要运行此应用程序
已经搜索了很多论坛,但是我没有看到针对此特定问题的解决方案。
提前致谢!
java - Maven 和 Eclipse 之间启动 JavaFX 11 应用程序的不同行为
我开始深入研究大型应用程序(包括 Java FX 部分)的 Java 11 迁移,我需要您的帮助来了解命令行上的 Maven(3.5.4)和 Eclipse(2018-09 与 Java11 升级)之间的区别)。
我有一个简单的 Java 11 类
和一个简单的 pom
当我运行“mvn compile exec:java”时,我认为没有使用新的模块路径,程序按预期显示 JavaFX 面板。系统输出是:
jdk.module.path:空
jdk.module.upgrade.path:空
jdk.module.main:空
jdk.module.main.class:空
从 Eclipse 启动器运行时,我必须向启动器添加以下 vm 参数:
--module-path=${env_var:JAVAFX_PATH} --add-modules=javafx.controls
并且面板也显示,但输出是:
jdk.module.path : C:\dev\tools\javafx-sdk-11\lib
jdk.module.upgrade.path:空
jdk.module.main:空
jdk.module.main.class:空
jdk.module.main.class:空
我不能让它在 Eclipse 中工作,因为它是从命令行工作的:我被迫弄乱了模块和模块路径。如果我不添加 vm 参数,我会得到“错误:JavaFX 运行时组件丢失,并且需要运行此应用程序”或“启动层 java.lang.module.FindException 初始化期间发生错误:模块 javafx.controls未找到”。
它如何在没有更多配置的情况下从命令行工作?据我所知,Maven不会自动向模块路径添加任何东西......
任何想法 ?我错过了什么?
更新 1:我意识到当在 Eclipse 中“作为 Maven 项目”导入项目时(我总是这样做),它会导致 JRE 被添加到模块路径中(这不是我的 classis 项目的情况)。看截图
maven - 在 OSGi 应用程序中使用 Openjfx 11 类
有谁知道是否有办法在 Eclipse 工作区中使用 JavaFX 模块?我有一个 OSGi-maven 多模块应用程序。
到目前为止,我已经尝试了几件事。
- 下载 JavaFX SDK 并在 Eclipse 中添加 jars 作为用户定义的库。
- 捆绑 JavaFX jar 并在之后将它们用作常规 OSGi 捆绑包(作为依赖项添加,之后在目标平台中添加)。
这两件事都有效。但是,在第一种情况下,每个开发人员都必须手动将这些 jar 作为库添加到类路径中。第二,对于每个平台,我们必须为每个模块提供不同的捆绑包。
如果我不做这些事情,我就会编译错误,无法找到 JavaFX 类(如预期的那样)。
有没有第三种方法可以做到这一点?通过使用一些 OSGi 功能或类似的东西?我还没有找到在 MANIFEST.MF 中添加模块的任何方法。这甚至可能吗?
我在 OSGi 框架启动器中添加了 JavaFX 模块作为 VM 参数,一切正常。但是我必须做之前提到的其中一件事情,这样我就不会出现编译错误。虚拟机参数:--module-path /path/to/javafx/sdk/11/lib --add-modules javafx.controls,javafx.graphics,javafx.base
java - IntelliJ IDEA 2018.2、openjdk 11 和 openjfx 11(没有 maven,不是模块化项目):找不到模块 javafx.controls
我刚刚在 intelliJ 中使用 openjdk 11 创建了一个新的 JavaFX 项目,并且我已经在他们的网站上下载了最后一个 openjfx 库。
这是我所做的:
我已添加到运行/调试 VM 选项:--module-path %PATH_TO_FX% --add-modules=javafx.controls,javafx.fxml
VM 选项
我添加了一个新变量 env PATH_TO_FX :PATH_TO_FX=%programfiles%\Java\javafx-sdk-11\lib
所以它编译得很好,但在运行时失败:
有谁知道我在这里想念什么?
PS:我已经关注了这个链接https://openjfx.io/openjfx-docs/#install-javafx
编辑 :
我应该在这里有 onpenjfx 库吗?类路径
java - 试图在 intellij jre11 上运行 javafx 程序
我已经安装了 intellij,我正在尝试打开一个新的 javafx,但我无法运行它(即使是默认的基本版本,也应该只打开一个简单的窗口)我正在使用 jdk 11(我必须)所以我下载了javafx,就像这篇文章中所说的那样:
错误:缺少 JavaFX 运行时组件,需要使用 JDK 11 运行此应用程序
但我得到这个错误
如果我尝试在解决方案中执行此行
然后在运行->编辑配置->虚拟机选项中,输入:--module-path="C:\Program Files\Java\javafx-sdk-11\lib" --add-modules=javafx.controls
错误更改为:
我试图在网上搜索超过 2 小时来解决这个问题,但没有任何效果 =\ 尝试在项目结构中将语言级别设置为 8\10\11,但仍然无法正常工作
带有hello world的常规java程序确实可以工作,只是java fx会出现问题......
java - 升级到 Java 11 JavaFX 头疼
今天我安装了 JDK 11,我所有的 JavaFX 东西都乱了套。很公平,甲骨文可以为所欲为。我正试图让我的项目恢复到可运行状态,这是我第一次遇到这种模块化的东西,所以不知道到底发生了什么。
我已经设法在 Maven 中将库作为依赖项导入(尽管它在某些库的 maven 中找不到版本 11,我最终将 11-ea+19 用于 javafx-controls 等 - 无论如何..),所以我的代码可以很好地编译这些依赖项:
是的,我都需要它们。
所以现在我希望运行该程序但没有!我们在运行时得到一个错误:
好吧,人们似乎一直都有这个问题,因为他们没有添加“模块”。唯一的问题是发帖的人没有使用 maven,而是下载了存储在他们 PC 上某处的 JavaFX SDK。Maven 是否以聪明的方式下载这些内容,还是我必须做同样的事情并下载单独的 SDK?然后从那里添加模块?!这在我看来有点粗制滥造……
真正我想知道的是我应该把什么作为我--module-path
的,以便我能--add-modules=javafx.controls,javafx.fxml,javafx.media,javafx.swing
为我沮丧的语气道歉。那些日子中的一天。
编辑:这是我的整个 pom.xml
exec-maven-plugin 没有找到 1.6.0 版本,但我可以在 maven 网站的中央仓库中清楚地看到它。这到底是什么......试图获得版本 11 的 javafx 库的同样问题。
编辑:已解决:我的 Maven 设置明显有问题,现在使用 maven-exec-plugin 版本 1.4.0 并且工作正常。
java - IntelliJ IDEA - 错误:缺少 JavaFX 运行时组件,需要运行此应用程序
我正在使用OpenJFX的JDK 11.0.1和JavaFX 11运行IntelliJ IDEA Ultimate 2018.2.5。我知道这是一个常见错误,我尝试了许多建议的修复程序,但没有任何效果。
无论我尝试运行哪个 JavaFX 项目,我都会收到错误消息:
如果我将以下内容添加到 VM 选项中
我收到这些错误:
我尝试重新安装没有任何运气。我也尝试过更改
getClass().getResource(...)
为getClass().getClassLoader().getResource(...)
或更改为类似的Parent root = FXMLLoader.load(getClass().getResource("/sample.fxml"));
内容,但仍然无法正常工作。
java - 无法在 Windows 上使用 JavaFX 11 运行 Maven 阴影 jar
起初我得到了缺少 JavaFX 运行时组件的错误,这导致我进入了这个线程。在该线程中应用解决方案后,即创建一个不扩展 Application 的不同 Main 类后,我收到一条新的错误消息,下面是带有 -Dprism.verbose=true 的完整堆栈跟踪:
我尝试了不同的 JDK 11 构建,但它们都提供了相同的错误消息
java - 使用 JavaFX 11 的自定义 JRE
我正在使用 JDK11 和 JavaFX11。
我使用 Jlink 为我的示例 FX 模块程序创建了一个自定义 JRE,但是当我尝试使用自定义 JRE 运行时,它会呈现如下错误:
这就是我创建自定义 JRE 的方式(没有错误):
这就是我尝试运行的方式(有错误):
错误消息:
这是我的编译方式:
源 JavaFXDemo.java:
module-info.java
:
我就是这样编译的。
编译后,我的模块类文件如下:
我可以成功运行如下:
不过,我可以使用默认的 JDK11 运行。
如何成功创建自定义 JRE 并使用它运行示例 FX 模块程序?