我想从命令行构建我的项目并对输出进行哈希。
我使用了这个似乎有用的脚本:
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,不同的文件似乎与我程序中的webservice客户端有关。
答案 0 :(得分:1)
也许是因为清单中存储了ant
版本。 NetBeans安装自己的Ant,它可能与系统中安装的不同(在PATH上不可访问)。你应该只对类进行校验和。
NetBeans创建的jar就像This
MyProgram.jar
|
|-> META-INF
| |
| |-> MANIFEST.MF
|
|-> package1
| |
| |-> classes of package1 and other packages
|
|-> package2
| ...
|
|-> package3
...
您应该解压缩jar文件并根据程序包文件夹下的文件创建校验和,即package1
,package2
,package3
等。{{1}保存用于创建应用程序的MANIFEST.MF
和ant
版本。