【发布时间】:2018-10-11 10:57:47
【问题描述】:
是否可以检查给定的 Java 二进制文件是否使用给定的源代码编译。
目前我有一个由供应商构建的项目(WAR 文件)。这个项目的源代码将在几个月后发布,但是我的上级问我,我们如何知道我们在生产中部署的 WAR 文件是否使用将来提供给我们的源代码生成。
供应商建议使用pkgdiff,但我不确定这是否会检查方法的实现而不仅仅是方法签名。
谁能建议任何方法或工具来确保给定的源代码是用于制作二进制文件(Java WAR 文件)的源代码
我也读过这个问题How to check if binaries are built from particular sources 是接受的答案是100%确定的唯一真正选择吗?
谢谢。
【问题讨论】:
-
您是否考虑过让他们只提供源代码,然后您自己编译/部署?
-
你的意思是说你在生产中部署了一些东西,而它不是一个固定(发布)的版本???
-
你试过JD-GUI吗? jd.benow.ca
-
@Brian 嗨,感谢您的评论,很遗憾,目前还不可能,因为他们正在重新协商付款条件,并且在协商完成之前不会发布源代码。
-
总是可以散列你当前的战争,然后当源发布时,编译新的源并散列它。如果两个哈希值匹配,您就有了他们的版本
标签: java