当前位置: 首页 > 面试题库 >

将当前的git commit id注入Java Webapp

楚志强
2023-03-14
问题内容

我们有一个git存储库,其中包含一些相关的Java WAR和JAR的源。如果Java代码可以通过某种方式实现,那就太好了:

System.err.println("I was built from git commit " + commitID);

(显然,实际的代码可能会将其放入HTTP标头中,在启动时将其记录下来,或者,现在不重要了)

我们正在使用Ant来构建二进制文件(至少对于生产版本而言,似乎有些程序员是从Eclipse中进行测试的,而我对此了解甚少)。

有没有一种规范的方法可以在构建时将当前git
checkout的提交ID获取到我们的Java中?如果不是,使用Ant构建的人能否建议他们将如何做,我们将看看是否出现了规范的解决方案?我确定我可以完全用整块布发明自己的东西,但这似乎是可重复使用的构建块,所以我宁愿不要。


问题答案:

我不知道git是否有任何Ant任务(我用Google搜索了一下都没有成功),无论如何Ant可以使用Piotr的选项(git rev-parse HEAD)更新属性文件,然后在运行时使用该属性来获取修订号。与让Ant生成.java文件相比,此方法更加干净和 IDE友好



 类似资料:
  • 我正在尝试将当前登录的用户插入到侦听器中。我的目标是每次用户执行任何操作时(这两种方法都不适用于我),都将current\DateTime()写入“demo\u user”表的“last\u active”列。 app/config/config.yml src/Demo/UserBundle/EventListener/ActivityWatcher.php 但是$代币总是空的...更新:没有提

  • 问题内容: 我有一个应用程序,其中包含带有标题和菜单的HomeScene.fxml文件。HomeScene还具有dashboardPane,应在按下菜单按钮后对其进行动态更改。仪表板窗格内容应从另一个fxml文件加载,例如说“ FinancesPane.fxml”或“ SettingsPane.fxml”。 我正在尝试在HomeController中替换dashboardPane的内容: 我的Fi

  • 问题内容: 我正在使用jersey 2.17和HK2创建一个简单的rest应用。我有一个拒绝任何没有“ currentuser” cookie的请求。 我有这样的事情: 我想编写比这更优雅的东西。像这样: 我对hk2真的很陌生,并且真的很难找到方法。 我只是在要求正确的接口来实现(或扩展类)。 问题答案: 您要找的不是一件容易的事。解决此问题的一种方法是在内部设置,如此处所示。这不涉及与HK2的任

  • 我定义了同一个类的两个bean: 和另一个原型作用域bean: Spring应用程序上下文是否可能在没有可用请求时自动注入正确的bean?我希望在web上下文(例如在controller中)中获取bean时被注入,并希望在没有web上下文时被注入(例如,当我通过Quartz调度器运行一些代码时)。 我非常希望坚持使用的一个bean定义,因为将有许多不同的bean需要类似的行为,因此在我的情况下使用

  • 问题内容: 在python 3中,我可以设置参数并返回类型注释。例: 问题是我无法使用当前类(图形)的返回类型进行注释,该类型尚未定义。例: 这段代码有错误 这些注释对于记录文档以及允许IDE识别参数和返回类型都非常有用=>启用自动完成功能 UPD:所以我想到的是这是不可能的,或者需要一些我不喜欢的技巧,所以我决定使用 可以理解的文档,尽管这违反了规则。缺点是它不适用于IDE自动完成功能。 问题答

  • 我想通过按下按钮将常量字符串插入EditText中。字符串应插入EditText中的当前位置。如果我使用,文本将插入到edittext的末尾。 我怎么能那么做?我找不到合适的方法。