JarOutputStream を使用した JAR ファイルの作成: 隠れた問題のトラブルシューティング
JarOutputStream ユーティリティは、プログラムで JAR ファイルを作成するのに簡単なように見えますが、文書化されていない問題がいくつかあります。生成されたアーカイブの整合性が損なわれる可能性があります。これらの癖は、次の 3 つの特定の領域に現れます。
JAR を適切に作成するには、次のガイドラインに従ってください。
<code class="java">public void run() throws IOException { Manifest manifest = new Manifest(); // ... (populate manifest) JarOutputStream target = new JarOutputStream( new FileOutputStream("output.jar"), manifest ); add(new File("inputDirectory"), target); target.close(); } private void add(File source, JarOutputStream target) throws IOException { String name = source.getPath().replace("\", "/"); if (source.isDirectory()) { if (!name.endsWith("/")) { name += "/"; } JarEntry entry = new JarEntry(name); // ... (set entry properties) target.putNextEntry(entry); target.closeEntry(); for (File nestedFile : source.listFiles()) { add(nestedFile, target); } } else { JarEntry entry = new JarEntry(name); // ... (set entry properties) target.putNextEntry(entry); try (BufferedInputStream in = new BufferedInputStream(new FileInputStream(source))) { // ... (write file to JAR entry) } target.closeEntry(); } }</code>
Byこれらのガイドラインに従うことで、意図したとおりに抽出して機能する JAR ファイルを正確に作成できます。
以上がJarOutputStream で JAR ファイルを作成するときに隠れた問題を回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。