Clojure / Java - 弹出窗口

时间:2012-07-31 12:25:25

标签: java clojure

有时在Clojure中使用外部库时,会打开这个奇怪的窗口。它被称为clojure.main。它看起来像一个新的应用程序,它有一个可爱的小咖啡杯作为它的图标。

原谅我的Java无知 - 我意识到这可能是一个愚蠢的问题,但我无法在Internets和Google上的任何地方找到它。

这个应用程序在做什么?为什么以及何时出现?

编辑:运行leiningen 2,Clojure 1.3和Noir 1.2.1。这是在OSX上。

据我所知,触发此操作的代码是以下函数:

(defn make-thumbnail [filename new-filename width]
    (let [img (javax.imageio.ImageIO/read (as-file filename))
            imgtype (java.awt.image.BufferedImage/TYPE_INT_ARGB)
            width (min (.getWidth img) width)
            height (* (/ width (.getWidth img)) (.getHeight img))
            simg (java.awt.image.BufferedImage. width height imgtype)
            g (.createGraphics simg)]
        (.drawImage g img 0 0 width height nil)
        (.dispose g)
        (javax.imageio.ImageIO/write simg "png" (as-file new-filename))))

2 个答案:

答案 0 :(得分:6)

这可能与AWT not running in headless mode有关。您是否尝试将java.awt.headless系统属性设置为true

答案 1 :(得分:0)

正如Honza Pokorny所述,在project.clj中将"-Djava.awt.headless=true"添加到:jvm-opts

它应该是这样的:

:jvm-opts ["-Xmx1g" "-Djava.awt.headless=true"]