9

Java で書かれたソフトウェア用の新しいモジュールを作成しました。このソフトウェアはjarファイルから実行されます。私のクラスは、このソフトウェアのクラスを拡張しています。jar ファイルに新しいクラスを追加するプラグインを作成したいと考えています。jarファイルをディレクトリに抽出し、java.util.jarパッケージを使用してjarファイルに追加する方法を知っていますが、ファイルから抽出するファイルがたくさんあるため、ファイルを抽出せずに新しいクラスを追加することは可能ですか?フォルダに、どういうわけか直接。

4

3 に答える 3

16

次のコマンドを使用できます

jar uf foo.jar foo.class
于 2012-08-03T18:19:13.990 に答える
7
jar uf jar-file input-file(s)

解凍せずに新しいファイルを追加したり、jar 内の既存のファイルを更新したりできます。

于 2012-08-03T18:17:56.217 に答える
7

あなたの質問は、コマンドラインツールを使用するのではなく、プログラムでこれを行うことを示しています。jar

ドキュメントから、少なくともJarInputStream既存の からを取得し、JarFileを使用してエントリを反復処理し、エントリを使用してgetNextJarEntryに書き込み、新しいファイルごとにJarOutputStream新しいオブジェクトを使用して独自の新しいファイルを追加する必要があるようです。JarEntry

プログラムでゼロから jar を作成するためのサンプル コードを次に示しJarEntryますJarInputStream

于 2012-08-03T18:29:27.630 に答える