0

我注意到如果不关闭 IDE / 命令行,我无法部署 JavaFX 应用程序javapackager两次。我想在 Windows 10 机器上创建我的应用程序的本机映像。

第二次部署后,我得到 Exception: java.io.IOException: Access denied。关闭并重新打开后,它再次适用于一次部署。

我可以在具有 Oracle JDK 8u121 和 Windows 10 的 3 台不同 PC 上使用 Netbeans 重现此问题(创建 JavaFX 应用程序,启用本机打包,然后打包为“仅映像”)。我在 eclipse 尝试的 gradle 项目中也遇到此错误使用官方 ant 任务部署它(https://docs.oracle.com/javase/8/docs/technotes/guides/deploy/javafx_ant_tasks.html

还在 Ubuntu VM 和 OpenJDK 上进行了尝试。没有问题。

你们中的某些人也可以在 Windows 10 上重现此错误吗?是否有解决方法或官方错误报告?

提前感谢乔伊

4

1 回答 1

1

这是一个已知问题,原因是文件句柄泄漏,我已经报告了:https ://bugs.openjdk.java.net/browse/JDK-8148717它只是 Windows 特定的,因为文件锁定在 JRE 文件夹上适用于 windows 系统,其他操作系统不锁定。

这个错误在 JavaFX-Gradle-Plugin 中得到了解决,因为 gradle 启动了守护 JVM,JavaFX-Maven-Plugin 不需要它,因为 JVM 总是关闭的。

免责声明:我是 JavaFX-Gradle-Plugin 的创建者和 JavaFX-Maven-Plugin 的维护者。

于 2017-03-03T07:43:53.017 回答