Clojure程序如何找到自己的MANIFEST.MF(假設它打包在JAR文件中)。Clojure程序讀取自己的MANIFEST.MF
我想從我的「 - 主」的功能做到這一點,但我不能找到一個類下面的代碼中使用:
(.getValue
(..
(java.util.jar.Manifest.
(.openStream
(java.net.URL.
(str
"jar:"
(..
(class **WHAT-GOES-HERE**)
getProtectionDomain
getCodeSource
getLocation)
"!/META-INF/MANIFEST.MF"))))
getMainAttributes)
"Build-number"))
感謝。
謝謝,這很有幫助。我做了一些重構,因爲我對此很迷戀。這是我結束了: (DEFN得到功能定位 [符號] (..(類符號) getProtectionDomain getCodeSource 的getLocation)) (DEFN得到艙單的屬性 [] (讓[location(get-function-location get-manifest-attributes)] (when-not(nil?location) ( - >(str「jar:」location「!/META-INF/MANIFEST.MF)) (URL。) (.openStream) (Manifest。) (.getMainAttributes))))) – 2012-05-25 22:49:40
更正:將符號傳遞給函數不是正常工作。我最終做了重命名get-function-location來獲取位置並將get-location傳遞給類。 – 2012-05-25 23:45:12