在jar中更改文件

时间:2010-08-23 18:16:03

标签: java spring jar

所以,我有一个jar文件,在这个jar中还有另一个config.js文件,在这个文件中我想写。我有一个这个文件的资源类(org.springframework.core.io.Resource),所以我可以从这个资源获得一个完整的URL或getFile()。网址看起来像这样:

jar:file:/Users/admin/.m2/repository/code/1.1-SNAPSHOT/code-1.1-SNAPSHOT.jar!/META-INF/config.js

问题是,如果我尝试从资源获取getFile()我得到一个例外:无法解析为绝对文件路径,因为它不驻留在文件系统中。 那么如何在jar中写入这个文件?:)

2 个答案:

答案 0 :(得分:1)

你可以在你的罐子上使用ZipStreams,从那里你可以处理你的罐子。 直接处理jar的最佳方法是使用ZipFile甚至更好JarFile

答案 1 :(得分:0)

使用java.util.zipjava.util.jar中的api 如果我没记错的话,你可以修改文件“inline”并保存,或者只是在外面修改它,保存到临时文件,然后将临时文件推回到jar中。