写入jar文件中的xml文件

时间:2018-08-13 17:59:27

标签: java javafx

我有一段代码旨在更新包内和资源文件夹中的xml文件(这是一个独立的桌面项目)。当我包含src文件夹的路径时,此代码在IDE中运行良好,例如

File file = new File("src/tools/con.xml");

我的问题是,这在IDE外部不起作用,例如在已部署的应用程序中,因为资源捆绑在jar中。我尝试使用类加载器方法getResource / getResourceAsStream(),但没有成功,例如

File file = new File(getClass().getResource("/tools/con.xml").toString() );

下面是我的完整代码

try{
    File file = new File("src/tools/con.xml");

    StreamResult result = new StreamResult(file); 
    TransformerFactory factory = TransformerFactory.newInstance();
    Transformer transformer = factory.newTransformer();
    DOMSource source = new DOMSource(doc);
    transformer.setOutputProperty(OutputKeys.INDENT, "yes");
    transformer.transform(source, result);

}catch (IllegalArgumentException | TransformerException e) { 
    throw new IOException("Failed to save the doc");
}

1 个答案:

答案 0 :(得分:2)

恐怕唯一的可能性是解开jar,添加xml并重新打包。对于war文件,我必须对pom.xml做同样的事情,但我相信过程将是相同的。