2017-03-02 72 views
0

我注意到我無法在不關閉IDE /命令行的情況下兩次部署帶有javapackager的JavaFX應用程序。我想在Windows 10機器上創建我的應用程序的本機映像。Javapackager第二次部署IOException

第二次部署後,我得到異常: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上重現此錯誤嗎? 是否有解決方法或官方錯誤報告?

在此先感謝 喬伊

回答

1

這是一個已知的問題,原因是文件句柄泄漏,並已得到了由我報道:https://bugs.openjdk.java.net/browse/JDK-8148717只有Windows專用的,因爲在JRE的文件鎖定-folder在Windows系統上工作,其他操作系統不鎖定。

這個bug在JavaFX-Gradle-Plugin中得到了解決,因爲gradle啓動守護進程,這會阻塞JVM,所以JavaFX-Maven-Plugin不需要它,因爲JVM總是關閉的。

聲明:我是JavaFX-Gradle-Plugin和JavaFX-Maven-Plugin維護者的創建者。

+0

很高興知道。謝謝:) – Joey

+0

感謝您的錯誤。我已經增加了優先權。 –

+0

@ChrisBensen感謝這:)我不得不在javafx-gradle-plugin中討厭monkeypatch類,但無法提供一個不錯的重現器 – FibreFoX