检索哈希数,git编译war

问题描述 投票:0回答:2

是否可以从编译的战争中检索提交的哈希值? 我必须使用 springboot api 对在生产服务器上工作的 war 文件进行更改。

(业主是我们无法再联系的提供商)

有没有办法找到克隆存储库的提交哈希号? 非常感谢!

java git spring-boot war
2个回答
5
投票

通常,当您构建 war(或 jar)文件时,Git 提交的 id 不会(!)存储到 war(或 jar)文件中。 war(或 jar)文件只是一个包含 Java 类和一些附加元信息的存档。

如果我处于您的情况,我会使用 WinRAR(或某些替代打包工具)打开 war 文件,然后按以下步骤操作:

0) 检查 build-info.properties

如果构建 WAR 文件的人使用

[spring-boot-maven-plugin][1]
及其
build-info
目标,则可能会有一个文件
META-INF\build-info.properties
。它不会告诉您提交 ID,但至少会告诉您有关版本的附加信息。如果您在这里找到版本信息并且它也在 Git 存储库中,那么这可能就是您的版本。

1)查看清单文件

清单文件 (

/META-INF/MANIFEST.MF
) 有时包含有关包版本的信息(如果在构建期间设置)。

2)查看其他文件

在同一个存档中,可能在根文件夹中,可能还有其他文本文件(例如自述文件)可以为您提供有关版本的信息

3) WAR-文件元数据

我会检查 WAR 文件的元数据(如果可能的话,在下载该文件的服务器上)。有关于文件创建时间的信息吗?这可能会提示您哪些提交(或多个提交)是您正在寻找的提交的候选者。


0
投票

此链接使用校验和来识别 jar 文件(可能)是从提交构建的:

https://xai.sh/2019/03/13/Find-file-in-git-by-hash.html

© www.soinside.com 2019 - 2024. All rights reserved.