Heim >Java >javaLernprogramm >Wie vermeide ich versteckte Macken beim Erstellen von JAR-Dateien mit JarOutputStream?
Erstellen von JAR-Dateien mit JarOutputStream: Fehlerbehebung bei versteckten Macken
Obwohl das JarOutputStream-Dienstprogramm für die programmgesteuerte Erstellung von JAR-Dateien einfach zu sein scheint, birgt es mehrere undokumentierte Macken Dies kann die Integrität der generierten Archive gefährden. Diese Macken manifestieren sich in drei spezifischen Bereichen:
Um eine ordnungsgemäße JAR-Erstellung sicherzustellen, halten Sie sich an die folgenden Richtlinien:
<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>
Durch die Einhaltung dieser Richtlinien können Sie JAR-Dateien genau erstellen, die extrahiert werden und als solche funktionieren beabsichtigt.
Das obige ist der detaillierte Inhalt vonWie vermeide ich versteckte Macken beim Erstellen von JAR-Dateien mit JarOutputStream?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!