如何让 mac 上的 Clojure 应用程序出现 Dock 图标?

How do I get the Dock icon to appear for a Clojure app on a mac?

目前什么都没有出现(甚至 java 咖啡杯也没有)。

我使用 lein new reagent name 创建了我的应用程序,并且尝试了这些 jvm 选项:

java -Xdock:name=Name
     -Xdock:icon=/Users/bmaddy/Downloads/logo.jpg
     -Dapple.awt.UIElement=true
     -Djava.awt.headless=false
     -jar name.jar

为什么不使用 Java 互操作? 在这个 SO post 问题之后:

// let's translate this
import com.apple.eawt.Application;
...
Application application = Application.getApplication();
Image image = Toolkit.getDefaultToolkit().getImage("icon.png");
application.setDockIconImage(image);

// into Clojure
(import com.apple.eawt.Application java.awt.Toolkit)
(let [app (Application/getApplication)
      image (.getImage (Toolkit/getDefaultToolkit) "icon.png")]
   (.setDockIconImage app image)))

事实证明,仅使用 Seesaw 就可以使停靠栏图标出现。这足以满足我的需要。

(ns name.server
  (:use seesaw.core)

我试过的其他东西:

这里描述的自动化方法只给出了一个启动应用程序的图标,它在 运行 时没有停留: https://discussions.apple.com/thread/4805123

这里有一些好主意,但我无法让其中任何一个发挥作用:https://apple.stackexchange.com/questions/191609/how-to-create-a-app-folder-from-an-executable-jar

从头开始构建 .app 包导致了一堆 LSOpenURLsWithRole() failed with error -10810 错误,我无法解决,但这似乎是最正确的方法。