使用 JarOutputStream 建立 JAR 檔案
本文介紹如何使用 Java 的 java.util.jar.JarOutputStream 類別程式設計方式建立 JAR 檔案。雖然創建的 JAR 檔案最初可能看起來正確,但在使用時可能無法載入庫。原因在於 JarOutputStream 的某些未記錄的怪癖。
JarOutputStream 的怪癖:
使用JarOutputStream 的正確方法:
要使用正確的方法建立包含清單檔案的JAR 文件,請按照以下步驟操作:
add() 方法:
<code class="java">private void add(File source, JarOutputStream target) throws IOException { String name = source.getPath().replace("/", "/"); // Ensure path uses '/' slash if (source.isDirectory()) { if (!name.endsWith("/")) { name += "/"; // Add trailing '/' for directories } JarEntry entry = new JarEntry(name); entry.setTime(source.lastModified()); target.putNextEntry(entry); target.closeEntry(); for (File nestedFile : source.listFiles()) { add(nestedFile, target); } } else { JarEntry entry = new JarEntry(name); entry.setTime(source.lastModified()); target.putNextEntry(entry); try (BufferedInputStream in = new BufferedInputStream(new FileInputStream(source))) { byte[] buffer = new byte[1024]; while (true) { int count = in.read(buffer); if (count == -1) break; target.write(buffer, 0, count); } target.closeEntry(); } } }</code>
依照這些準則,您可以使用與其他 Java 工具相容的 JarOutputStream 以程式設計方式建立 JAR 檔案。
以上是如何在 Java 中使用 JarOutputStream 正確建立 JAR 檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!