clojure JavaFX程序uberjar打包卡死的问题

clojure JavaFX程序uberjar打包卡死的问题

clojure JavaFX程序uberjar打包卡死的问题

1 简介

在clojure中使用JavaFX写GUI程序时,在uberjar阶段会卡死,其原因是clojure编译JavaFX代码时会调用Platform/startup,然后启动JavaFX线程,编译完成后JavaFX线程不会自动退出,就一直挂起在那里,参考cljfx issues

2 解决方法

采用上面的链接中提供的方法,在project.clj中添加profiles:

:profiles {:uberjar {:aot :all
                       ;; 编译时退出javafx线程,否则会一直卡在那里
                       :injections [(javafx.application.Platform/exit)]}}

作者: ntestoc

Created: 2019-06-12 三 15:15

原文地址:https://www.cnblogs.com/ntestoc/p/11009835.html