问题标签 [gluonfx]

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.

0 投票
1 回答
73 浏览

javafx - (Gluon)Raspi 上的 JavaFX17/18(使用桌面)由于 libglass.so 未运行:未定义符号 g_direct_hash

我一直在尝试在我的树莓派 pi4 上从 Gluon 安装/运行 JavaFX18 并收到以下错误消息:

java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 的线程“主”java.lang.reflect.InvocationTargetException 中的异常

(...编辑...)

引起:java.lang.UnsatisfiedLinkError:/opt/javafx-sdk-18/lib/libglass.so:/opt/javafx-sdk-18/lib/libglass.so:未定义符号:g_direct_hash

这是我的配置:

  • Java:Linux/arm32 jdk-17.0.1+12
  • JavaFx:Linux/arm32 openjfx-18-ea+7(也试过 17.0.1 和 17.0.2)

我正在使用简单的 HelloFX 示例 ( https://github.com/openjfx/samples ) 遵循 Gluon 文档 ( https://docs.gluonhq.com/#platforms_embedded ) 的说明。以下是我在我的 pi 上的 HelloFX 目录(src 所在的位置)中执行的命令:

  1. sudo /opt/jdk-17.0.1+12/bin/javac -verbose --module-path=/opt/javafx-sdk-18/lib --add-modules=javafx.controls src/hellofx/HelloFX.java - d 距离
  2. sudo /opt/jdk-17.0.1+12/bin/java -Dglass.platform=gtk -Djava.library.path=/usr/java/packages/lib:/lib:/usr/lib:/opt/javafx- sdk-18/lib --module-path=/opt/javafx-sdk-18/lib --add-modules=javafx.controls -cp dist/。hellofx.HelloFX

[注意这是在 X11 上运行,而不是在 Kiosk/CLI 模式下;Gluon 文档还展示了如何使用 DRM..etc 在非桌面模式下运行相同的示例:我已经尝试过这个并且工作正常;我还没有尝试过 64b 变体]

有没有人偶然发现这个问题并能够解决?

0 投票
0 回答
49 浏览

java - 使用 gluonfx 编译的故障程序:build

我在 Windows 下通过 GluonFX 编译了我的 JAVA 程序,以获得本地语言版本。程序运行时,我收到各种错误消息,例如: java.lang.NoSuchMathodException: java.lang.Math.sin (double)

当我运行 mvn gluonfx 时,以下是其他错误:nativerun

[lun nov 29 09:39:00 CET 2021][INFO] ===================== 运行任务============= ======= [lun nov 29 09:39:00 CET 2021][FINE] 运行到结束的 PB 命令:C:\Gluon\MathPlaceTest\target\gluonfx\x86_64-windows\MathPlaceTest.exe [lun nov 2021 年 11 月 29 日 09:39:00 CET][FINE] 开始进程运行直到结束... [2021 年 11 月 29 日 09:39:01 CET][INFO] [SUB] 主要 [2021 年 11 月 29 日 09:39:01 CET ][INFO] [SUB] 2021 年 11 月 29 日上午 9:39:01 com.sun.javafx.application.PlatformImpl 启动 [lun nov 29 09:39:01 CET 2021][INFO] [SUB] 警告:不支持的 JavaFX 配置:类是从“未命名的模块@1729ec00”[lun nov 29 09:40:58 CET 2021][INFO][SUB] 线程“JavaFX 应用程序线程”中的异常 java.lang.AssertionError:java.lang.ClassNotFoundException:javafx .scene.shape.Polyline

[lun nov 29 09:44:45 CET 2021][INFO] [SUB] java.lang.ClassNotFoundException: com.sun.prism.shader.Solid_TextureRGB_AlphaTest_Loader

[lun nov 29 09:44:46 CET 2021][INFO] [SUB] java.lang.InternalError:加载库存着色器 Solid_TextureRGB_AlphaTest 时出错 [lun nov 29 10:41:36 CET 2021][INFO] [SUB] 警告:不支持JavaFX 配置:类是从“未命名模块 @6d074b14”加载的 [lun nov 29 10:41:48 CET 2021][INFO] [SUB] java.lang.ClassNotFoundException: com.sun.prism.shader.Solid_TextureRGB_AlphaTest_Loader

另一个问题:第二个窗口打开,但它是白色的。我认为我在此处报告的 pom.xml 文件中存在错误或缺失。我寻求帮助

0 投票
0 回答
49 浏览

javafx - FileChooser 对话框导致本机应用程序中出现分段错误核心转储

我的本机 JavaFX 应用程序中的文件选择器对话框出现问题。我使用 gluon maven 插件进行本机编译。我决定试试胶子样品。我克隆了样本并本地编译了HelloFXML样本(使用graalvm 21.0.0.2),它可以工作。此后,我在HelloFXML控制器内的操作代码中添加了一个简单的文件选择器对话框:

现在文件选择器对话框会导致分段错误。我试过 ubuntu 20.04 和 21.10。两者都失败了。我不知道为什么会发生这种情况,也不知道该怎么办。有什么建议么?请帮忙。

编辑: mvn gluonfx:ru​​nagent 的输出:

运行应用程序时的输出:

来自 gdb 的输出:

0 投票
1 回答
71 浏览

java - Package#getImplementationVersion() 使用本机映像返回 null (GraalVM/GluonFX)

我有一个基于 JavaFX 的桌面应用程序,我通过 GraalVM/GluonFX 创建本机图像。为了在运行时检索应用程序的版本,我之前 - 当应用程序只有一个胖 JAR 时 - 使用了Package#getImplementationVersion(). 但是,这会返回null

我认为这是因为我没有正确设置清单条目?我的配置gluonfx-maven-plugin

有没有办法配置插件以Package#getImplementationVersion()返回应用程序的版本?我无法在相应的文档中找到某些内容。此外,GraalVM 中的一个相关问题已在 2020 年得到解决。

0 投票
1 回答
21 浏览

java - JavaFX 应用程序在使用 LauncherImpl 代替 Application 时编译不好

我有一个使用 GluonFx 插件编译为本机的 JavaFX 应用程序。我想添加一个预加载器以在启动时显示。我通过更改初始化来管理它:

Application.launch(MainView.class, args)LauncherImpl.launchApplication(MainView.class, MyPreloader.class, args)

编译过程执行到最后没有错误,但应用程序无法启动。如果我尝试运行代理 (mvn gluonfx:ru​​nagent) 我有以下错误: cannot access class com.sun.javafx.application.LauncherImpl (in module javafx.graphics) because module javafx.graphics does not export com.sun.javafx.application to unnamed module

有人知道如何解决这个问题,或者我可以使用什么其他方式来加载我的预加载器?

PS:从IDE运行。问题是编译为本机后

提前致谢

0 投票
1 回答
40 浏览

android - 在运行时打印 Okhttp 版本

在我们的javafx移动应用程序中,我们使用Okhttp3 4.9.1来处理 http 请求。我们的一位开发人员告诉我,即使我们将 Okhttp 指定为外部依赖项,在 android 设备中它也只会使用与 android 捆绑的 Okhttp。所以我只是想验证它并尝试像这样在运行时打印 okhttp 版本。它不起作用(ClassNotFoundExceptions)。所以,我的问题是,

  1. javafx 移动应用程序使用“与 android 捆绑的 okhttp ”还是我们指定为依赖项的应用程序?
  2. 如何在 javafx 移动应用程序中获取与 android 捆绑的“okhttp”版本?
0 投票
1 回答
46 浏览

javafx - 使用 ./mvnw -Pios gluonfx:link 和 nativerun 解开 iOS 部署

尝试解决此错误,将从 start.gluon.io 生成的小型示例应用程序部署到从 macOS 10.15.7 运行 iOS 15.2 的附加 iPad

虚拟 Xcode 应用程序已签名并部署到附加的 iPad 上,但必须为 Xcode 12 的签名配置指定额外的 --generate-entitlement-der。

我按照https://docs.gluonhq.com/#_build_your_application118的说明进行操作。使用我的苹果开发人员帐户配置文件为捆绑 ID 编辑 Plist 并遇到上述错误。文档说在 GluonFX 插件中添加 <verbose>true</verbose> 会有所帮助,所以我添加到插件工件的 <configuration> 并重新运行 ./mvnw gluonfx:link 和 nativerun 似乎都没有记录任何其他消息。

请从这里开始有什么想法,或者让构建更详细以检查它是否选择了正确的配置文件或其他线索,一旦.app被复制到iPad,如何通过验证?

0 投票
0 回答
20 浏览

javafx - 在使用 GluonFx 编译的程序中显示图标

我使用 gluonFx 作为本机 Windows 映像编译了我的 JavaFx 程序,一切正常,除了在 Windows 资源管理器中显示文件名时程序图标不出现,而在程序运行时显示。如何使图标出现在程序名称旁边?

0 投票
0 回答
47 浏览

java - 使用 GluonFX 插件构建 Javafx 应用程序的签名 APK

我正在使用来自 gluon -samples 存储库的HelloFX项目。我使用了一个密钥库(它是为不同的项目生成的)并尝试构建这个应用程序的 APK。

COMPILE TASKLINK TASK成功完成。但是PACKAGE TASK失败并显示以下日志消息。

完整的日志可以在这里找到。

以下是pom.xml文件。

以下是AndroidManifest文件:-

为什么会出现此问题以及如何解决此问题?

还有一个疑问,当前版本的 gluonfx 插件在构建 APK 时是使用/target文件夹下的文件还是实际项目下的文件?

0 投票
1 回答
41 浏览

java - 使用 GluonhqConnect.Provider.RestClient 查询 ElasticSearch 正文

我正在尝试使用com.gluonhq.connect.provider.RestClient来查询启用了 Elastic Search 的 API。

我尝试使用以下方法发出请求:

...其中 dataString 是一个 json 格式的字符串,表示请求的主体(我可以假设请求的格式正确,因为我在 Postman 中对其进行了测试并且请求返回了预期的数据)。如果有帮助,这里是弹性搜索请求正文

我遇到的问题是(胶子) RestClient 以及扩展的 DataProvider.retrieveObject 方法完全返回......什么都没有。

我很确定我做错了什么,并且我相当确定它是 .dataString() 方法(它需要一个“实体”),但我还没有找到一种替代方法来用作传递正文的方法进入请求。

使用com.gluonhq.connect库背后的原因是为了避免也必须创建我自己的 Observable 列表(手动)——如果数据格式合适......并且存在,库会自动吐出一个。至少,这是我对它的理解。

有人可以指出我正确的方向吗?我没有发现有关如何使用该库执行 POST 请求的指示或解释。

更新 20220117

主.java

RestObjectView.java

}