簡體   English   中英

使用Rhino從Clojurescript生成Java類

[英]Generate a Java class from Clojurescript using Rhino

我想執行以下操作:我有一個用Clojure / ClojureScript編寫的簡單函數:

(defn add
  [a b]
  (+ a b))

我想將此函數包裝到Java類中,然后將其放在jar中,以便可以在現有Java / Android項目中訪問它。 我以前的方法是使用gen-class並創建一個uberjar。 但是,這導致了一些問題

作為一種替代方法,我考慮使用ClojureScript編譯函數( Sam Beran也提出了一種解決方案)。

到目前為止,我了解如何:

  • javascript文件編譯Java類
  • 將它們放在.jar中
  • 編譯ClojureScript

我並沒有努力將ClojureScript輸出轉換成可以傳遞給Rhino編譯器的格式。

有什么想法嗎?

重要提示 :我想像這里那樣用主函數創建一個類!

一種通用的解決方法是:

在構建時:

  • 運行ClojureScript編譯器以生成JavaScript文件
  • 將JavaScript文件放入資源目錄。
  • 編譯使用它的Java類
  • 制作一個jar文件(Uberjar或普通的Unterjar)

這個Java類應該:

  • 制作一個Java類,在初始化時啟動Rhino
  • 實例化時,從資源中運行javascript。

在服務器的桌面上,您可能無法獲得相同的啟動時間My。 Beran在android上進行了報道,因為android上的進程具有通過預熱運行時來啟動生命的優勢,Rhino從啟動之時就可以開始運行(它們從Zygote進程繼承)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM