是否可以从编译的战争中检索提交的哈希值? 我必须使用 springboot api 对在生产服务器上工作的 war 文件进行更改。
(业主是我们无法再联系的提供商)
有没有办法找到克隆存储库的提交哈希号? 非常感谢!
通常,当您构建 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 文件的元数据(如果可能的话,在下载该文件的服务器上)。有关于文件创建时间的信息吗?这可能会提示您哪些提交(或多个提交)是您正在寻找的提交的候选者。
此链接使用校验和来识别 jar 文件(可能)是从提交构建的: