替换jar中的.xml文件

时间:2017-06-13 15:10:59

标签: java xml jar

我正在尝试更改存储在Java中的jar文件中的xml文件。

我的程序从jar中读取xml文件,使用以下命令对其进行一些更改:

javax.xml.parsers.DocumentBuilder
javax.xml.parsers.DocumentBuilderFactory
org.w3c.dom.Document;

这没有任何问题。然后,我使用以下代码行将这些更改写入新的xml文件:



		TransformerFactory transFactory = TransformerFactory.newInstance();
		Transformer trans = transFactory.newTransformer();
		DOMSource source = new DOMSource(doc);
		File tempStorage = new File("/some/directory/config.xml");
		StreamResult result = new StreamResult(tempStorage);
		trans.transform(source, result);




完美无缺。在此之后,我使用以下控制台命令将xml文件添加到jar中:

jar uf jarFile.jar "/some/directory/name.xml"

这会将xml文件添加到指定目录中的jar中。我想将它添加到jar的基目录。例如,当我解压缩jar时,我希望文件夹结构为:

jarFolder/config.xml

不是

jarFolder/some/directory/config.xml

用" config.xml替换临时存储目录"不起作用,因为我通过eclipse运行程序,它将文件存储为:

jarFolder/eclipse/directory/eclipse.app

理想情况下,我希望将配置文件保存在jar中,这样我就不会有一堆与我的程序相关的松散文件,并且可以简单地读取config.xml,而无需检查运行时创建的松散文件程序以前。我还应该提一下,config.xml已经存储在jar中了。

1 个答案:

答案 0 :(得分:0)

尝试提及以下目录。 -C选项可帮助您指定文件所在的目标目录。

jar uf jarFile.jar -C . "/some/directory/name.xml"