繁体   English   中英

部署为jnlp时,在JavaFX中加载图像会导致AccessControlException

[英]Loading image in JavaFX causes AccessControlException when deployed as jnlp

我有一个非常简单的JavaFX应用程序。 它需要在“资​​源”目录中绘制以png格式保存的图像。 我这样初始化:

private final static Image customerImage;
static {
    Path imageLink = Paths.get("resources", "homeIcon.png");
    customerImage = new Image("file:"+imageLink.toString(),true);
}

当我直接从IDE中运行它时,这可以很好地工作。

但是,当我将应用程序部署为JavaFX包并运行生成的jnlp时,Image构造函数将抛出AccessControlException,特别是:

java.security.AccessControlException: access denied ("java.util.PropertyPermission" "user.dir" "read")

如果我理解正确的话,这意味着它无权搜索文件。 我该如何解决? 当部署为.jnpl时,它会出现在目录中似乎也很奇怪,我是否应该将.png文件放在其他位置?

customerImage = new Image("file:"+imageLink.toString(),true);

那可能不是URL。 它应该是:

customerImage = new Image(imageLink.toURI().toURL().toString(),true);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM