J'ai un fichier WAR sur lequel j'ai besoin d'ajouter deux fichiers. À l'heure actuelle, je fais ceci:Comment mettre à jour un fichier Jar préexistant?
File war = new File(DIRECTORY, "server.war");
JarOutputStream zos = new JarOutputStream(new BufferedOutputStream(new FileOutputStream(war)));
//Add file 1
File file = new File(DIRECTORY, "file1.jar");
InputStream is = new BufferedInputStream(new FileInputStream(file));
ZipEntry e = new ZipEntry("file1.jar");
zos.putNextEntry(e);
byte[] buf = new byte[1024];
int len;
while ((len = is.read(buf, 0, buf.length)) != -1) {
zos.write(buf, 0, len);
}
is.close();
zos.closeEntry();
//repeat for file 2
zos.close();
Le résultat est que le contenu précédent faussés: la guerre n'a que les 2 fichiers que je viens d'ajouter en elle. Y at-il une sorte de mode d'ajout que je n'utilise pas ou quoi?