私は非常に単純な JavaFX アプリケーションを持っています。「resources」ディレクトリに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 ファイルを別の場所に配置する必要がありますか?