java - 添加修订信息

标签 java sbt

我想将 Git 修订信息添加到使用 SBT 构建的 Java 应用程序中。目前我正在使用代码生成功能,如此处所述 http://www.scala-sbt.org/0.13/docs/Howto-Generating-Files.html生成带有 revision 字段的类。 servlet 类读取该字段并呈现带有修订信息的 HTML 页面。一切工作正常,除了生成的文件是暂时的并且 IDE(本例中为 Intellij IDEA)报告 servlet 类中的错误。显然,我可以生成整个 servlet 类,但这似乎有点太多,无法放入构建定义中。有没有办法让这个文件“永久”或者我这样做完全错误?

最佳答案

您是否遇到此问题:sbt/issues/1664

如果您可以使用生成的 scala,sbt-buildinfo值得一看。您可以像这样添加 git 修订版:

import sbtbuildinfo.{ BuildInfoKey, BuildInfoPlugin }
import sbtbuildinfo.BuildInfoKeys._

myProject
  .enablePlugins(BuildInfoPlugin)
  .settings(
    buildInfoKeys ++= Seq[BuildInfoKey](
      BuildInfoKey.action("revision") {
        Try(
          Process("git rev-parse --short HEAD").!!.trim
        ).getOrElse("unknown")
      })
    }

关于java - 添加修订信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38221275/

相关文章:

java - UCanAccessSQLException : constraint violation

java - 为什么不能在重写的方法中放宽参数类型?

plugins - 我在我的项目中使用了 `sbt-buildinfo`,但它没有生成 BuildInfo.scala 文件

scala - SBT编译与compileIncremental之间的区别

scala - 从 SBT 执行 Gatling 负载测试

scala - 代码中看不到Twirl模板(喷雾应用)

java - 用 Tomcat 取代 Weblogic?

java - (初学者)Java程序无故终止

java - 框架抛出错误: can not set io. appium.java_client.MobileElement字段

maven - 是否有直接链接到eclipse.jdt.core jar?