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 をインストールします。これは、システムにインストールされているものとは異なる場合があります (PATH でアクセス可能)。クラスに対してのみチェックサムを実行する必要があります。

NetBeans によって作成された jar は次のようなものです

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

package1jar ファイルを解凍し、プログラム パッケージpackage2であるフォルダーの下のファイルに基づいてチェックサムを作成する必要がありますpackage3MANIFEST.MFantjdk

于 2013-05-17T19:42:42.260 に答える