[英]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.