jar内のファイルを作成または変更することは可能ですか?それを達成する方法は?
4 に答える
考えられる解決策の 1 つは、 を解凍しjar
、変更して、zip でバックアップすることです。
注: 7-zip や WinRar などのユーティリティを使用して解凍できます。
コマンドプロンプトから実行したい場合はjarコマンドを使用できます(または)winzip(または)winrarツールを使用できます。
例:
jar uf foo.jar -C クラス . -C ビン xyz.class
これを行うには、次の 2 つの方法があります。
お気に入りの zip アプリケーションを使用して解凍し、ファイルを変更して再度圧縮します。
Zip4Jのような zip ライブラリを使用して、Java アプリケーションで同じことを行います。
一言で言えば、はい可能であり、いくつかのオプションがあります。
既存の jar ファイルを変更します。これを行うには、jar ファイルを抽出し (必要なエクストラクタを使用します)、必要なファイルを変更し (ソースがない場合は逆コンパイルします)、jar を再パッケージ化します。
jarを変更する手間をかけたくない場合は、既存のクラスファイルをコピーし(ソースがない場合は再度逆コンパイルします)、必要な変更を加えてコンパイルし、クラスを確認しますfile は CLASSPATH の jar の前にあります。そうすれば、VM がクラスローディングを行うときに、変更されたクラスが最初に取得され、jar 内のクラスは無視されます。