是否可以从已编译的 war 中检索哈希值提交? 我必须使用 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) 查看 list 文件
list 文件 (/META-INF/MANIFEST.MF
) 有时 contains information在包的版本上(如果它是在构建期间设置的)。
2) 查看其他文件
在同一个存档中,可能在根文件夹中,可能还有其他文本文件(例如自述文件)可以为您提供有关版本的信息
3) WAR 文件元数据
我会检查 WAR 文件的元数据(如果可能的话,在下载它的服务器上)。是否有关于文件创建时间的任何信息?这可能会提示您哪些提交(或多个提交)是您正在寻找的提交的候选者。
关于java - 检索哈希数,git编译war,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52485631/