我想从命令行构建我的项目,并对输出进行哈希。
我用了这个脚本,似乎工作:
set JAVA_HOME=C:Program FilesJavajdk1.7.0_09
set PATH=C:Program FilesNetBeans 6.9.1javaantbin;%PATH%
ant clean jar
它构建我的项目没有错误,但输出不是二进制相等的。我如何以与netbeans完全相同的方式调用ant ?
edit:我需要输出相等,因为我想比较md5哈希值和比较我的版本控制。我使用kdiff3来比较,我也提取了jar,不同的文件似乎与我的程序中的web服务客户端有关。
可能是因为清单中存储的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
, package3
等。MANIFEST.MF
包含创建应用程序时使用的ant
和jdk
的版本。