Clojure程序读取自己的MANIFEST.MF [英] Clojure program reading its own MANIFEST.MF
本文介绍了Clojure程序读取自己的MANIFEST.MF的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
Clojure程序如何找到自己的MANIFEST.MF(假设它被打包在JAR文件中)。
How can a Clojure program find its own MANIFEST.MF (assuming it is packaged in a JAR file).
我试图从我的 main函数,但我找不到一个类在以下代码中使用:
I am trying to do this from my "-main" function, but I can't find a class to use in the following code:
(.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"))
<
Thanks.
推荐答案
这似乎可靠地工作:
(defn set-version
"Set the version variable to the build number."
[]
(def version
(.getValue (.. (Manifest.
(.openStream
(URL.
(str "jar:"
(.getLocation
(.getCodeSource
(.getProtectionDomain org.example.myproject.thisfile)))
"!/META-INF/MANIFEST.MF"))))
getMainAttributes)
"Build-number")))
这篇关于Clojure程序读取自己的MANIFEST.MF的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文