首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaFX getResource在浏览器中运行时返回null

JavaFX getResource在浏览器中运行时返回null
EN

Stack Overflow用户
提问于 2015-03-09 15:08:35
回答 1查看 890关注 0票数 1

我有一个javafx应用程序,我将所有的fxml文件存储在src/foo/bar/fxui文件夹中。我使用下面的代码来引用fxml文件:

代码语言:javascript
复制
FXMLLoader loader = new FXMLLoader(getClass().getResource("/foo/bar/fxui/file.fxml"));
Parent root = (Parent) loader.load();

调用类位于src/foo/bar中。

当我在Eclipse中运行它时,这段代码工作得很好。为了部署它,我使用efxclipse将其导出为JAR。当我直接运行JAR文件时,它也运行得很好。但是,当我试图在浏览器(Chrome/IE)中启动这个应用程序时,代码会中断。它告诉我“位置没有设定”。我已经排除了以下行返回null的问题:

代码语言:javascript
复制
getClass().getResource("/foo/bar/fxui/file.fxml")

因此,在我看来,这是一个无法按指定路径获取文件的问题。我尝试将fxml文件放入main/resources/foo/bar/fxui文件夹中。也不起作用。

我确信所需的文件在JAR存档中。问题是,当我双击打开JAR文件时,它会运行,但它不会在浏览器中运行。

我在这个问题上花了整整一天时间。任何帮助都是非常感谢的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-11 10:44:33

我自己解决了这个问题。根本原因是我没有正确地在罐子上签名。

Java getResource()使用反射,如果没有有效的证书,反射将无法正确执行。在这种情况下,一个自签名的罐子就可以了。

感谢上面的每一个输入。

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

https://stackoverflow.com/questions/28945319

复制
相关文章

相似问题

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