0

我想从命令行构建我的项目并对输出进行哈希处理。

我使用了这个似乎有效的脚本:

set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_09
set PATH=C:\Program Files\NetBeans 6.9.1\java\ant\bin;%PATH%
ant clean jar

它构建我的项目没有错误,但输出不是二进制相等的。如何以与 netbeans 完全相同的方式调用 ant?

编辑:我需要输出相等,因为我想比较 md5 哈希并与我的版本控制进行比较。我正在使用 kdiff3 进行比较,并且我还提取了 jar,并且不同的文件似乎与我程序中的 web 服务客户端有关。

4

1 回答 1

1

也许是因为ant清单中存储的版本。NetBeans 安装自己的 Ant,它可能与安装在您系统中的 Ant 不同(可在您的 PATH 上访问)。您应该只对类进行校验和。

NetBeans创建的jar是这样的

MyProgram.jar
 |
 |-> META-INF
 |     |
 |     |-> MANIFEST.MF
 |
 |-> package1
 |    |
 |    |-> classes of package1 and other packages
 |
 |-> package2
 |  ...
 |
 |-> package3
    ...

您应该解压缩您的 jar 文件并根据文件夹下的文件创建校验和,这些文件是您的程序包,即package1,package2等保存并用于创建应用程序的版本package3MANIFEST.MFantjdk

于 2013-05-17T19:42:42.260 回答