[英]How to access sbt managed resource in Scala program
我通過build.sbt中的以下代碼創建托管資源:
resourceGenerators in Compile <+=
(resourceManaged in Compile, name, version) map { (dir, n, v) =>
val file = dir / "version"
val contents = Process("git rev-parse HEAD").lines.head
IO.write(file, contents)
Seq(file)
}
我可以看到它在target/scala-2.11/resource_managed/main
下很好地創建了
我將其內容提取到應用程序中,如下所示:
val version = getClass.getResource("version")
println(Source.fromURL(version).mkString)
我想知道是否存在一個用於訪問資源的Scala類,它比Java的getClass.getResource
更可取
正如我在評論中所寫,我認為這是正確的方法,而且Scala中沒有其他等效方法。
但是,我建議您查看sbt-buildinfo插件,根據您的情況,該插件將允許您將版本字符串直接放置在合成Scala對象中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.