我可以在一组 jar/war 文件上连续运行相同的 Maven 构建 5 次,对它们中的任何一个都没有任何更改,但每次我都会在每个 jar/war 文件上获得不同的 MD5 哈希值。我希望 java 编译器每次都能产生相同的哈希值。是否有任何文件会影响我可以排除的哈希值,以便每次都给我相同的哈希值?或者只是编译器每次都不会以相同的方式编译相同的代码?
使用以下代码生成哈希:
public static String getHash(File file) throws FileNotFoundException, IOException {
if(file == null || !file.isFile()) {
return "";
}
FileInputStream in = null;
try {
in = new FileInputStream(file);
byte [] bytes = toByteArray(in);
return getHash(bytes);
} catch(Exception e) {
Logging.log("Unable to get MD5 hash for file: " + ile.getName());
} finally {
StreamUtils.close(in);
}
return "";
}
public static String getHash(byte[] bytes) {
MessageDigest digest = …Run Code Online (Sandbox Code Playgroud)