使用Java修改jar文件中的xml文件

时间:2020-03-05 18:56:35  来源:igfitidea点击:

我目前负责在客户站点的jar中更新XML文件(persistance.xml)。我当然可以解压缩文件,更新xml,然后重新打包文件以进行重新部署。我想在Swing应用程序中对这些命令行操作进行排序,以使执行此操作的人员不必落入命令行。对以编程方式执行此操作的方式有何想法?

解决方案

回答

Java API具有用于处理JAR文件的类。

回答

我们可以使用Java的ZipFile和ZipEntry类读取JAR文件的内容,然后使用ZipOutputStream创建一个新文件。

回答

当然:

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();