2008-09-16 1 views
2

Ich bin derzeit mit der Aktualisierung einer XML-Datei (persistance.xml) in einem Jar bei einem Kunden vor Ort beauftragt. Ich kann natürlich die Datei aufheben, das XML aktualisieren und dann die Datei erneut umplazieren. Ich möchte diese Befehlszeilenoperationen in einer Swing-App so einordnen, dass die Person, die sie ausführt, nicht zur Befehlszeile wechseln muss. Irgendwelche Gedanken zu einem Weg, dies programmatisch zu tun?Ändern Sie eine XML-Dateien in einer JAR-Datei mit Java

Antwort

6

Die Java-API verfügt über classes zum Bearbeiten von JAR-Dateien.

1

Sie können Javas ZipFile und ZipEntry Klassen verwenden, um den Inhalt einer JAR-Datei zu lesen, und dann ZipOutputStream verwenden, um eine neue zu erstellen.

3

Sure:

File tmp = new File ("tmp"); 
tmp.mkdirs(); 
Process unjar = new ProcessBuilder ("jar", "-xf", "myjar.jar", tmp.getName()).start(); 
unjar.waitFor(); 
// TODO read and update persistence.xml 
Process jar = new ProcessBuilder ("jar", "-cf", "myjar.jar", tmp.getName()).start(); 
jar.waitFor(); 
Verwandte Themen