Javaでjarファイルをプログラムで生成したい。これは、入力 jar ファイルが難読化されていない場合にうまく機能します。難読化ツールを使用すると、最初のエントリがマニフェストではなくなるため、新しいファイルを生成できません...
これが私のコードです:
JarInputStream input = new JarInputStream(getClass().getResourceAsStream("/obfuscated_jar.jar"));
JarOutputStream output = new JarOutputStream(new FileOutputStream("generated_jar.jar"), input.getManifest());
マニフェストが最初の場所にないため、この行input.getManifest()
は null を返します。
いくつか検索しましたが、既知の問題のようJarInputStream
です。だからここに私の質問があります:それを解決することは可能ですか?自分の getManifest メソッドか何かを書くのが好きですか?