Création de fichiers JAR avec JarOutputStream : dépannage des bizarreries cachées
Bien que l'utilitaire JarOutputStream semble simple pour créer des fichiers JAR par programme, il recèle plusieurs bizarreries non documentées qui peut compromettre l’intégrité des archives générées. Ces bizarreries se manifestent dans trois domaines spécifiques :
Pour garantir une création correcte du JAR, respectez les directives suivantes :
<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>
Par en adhérant à ces directives, vous pouvez créer avec précision des fichiers JAR qui seront extraits et fonctionneront comme prévu.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!