我使用maven并在src/main/resources中存储了一个属性文件,我可以像这样很好地阅读它:
properties.loadFromXML(this.getClass().getClassLoader().
getResourceAsStream("META-INF/properties.xml");是否可以在将此文件打包为jar时对其进行写操作?我尝试过以下几种方法:
properties.storeToXML(new FileOutputStream(new File(this.getClass().getClassLoader().
getResource("META-INF/properties.xml").toURI())), "");这在Eclipse中是有效的,因为它将文件保存到target/classes/META-INF,但在打包为jar时就不是这样了,所以有可能实现相同的功能吗?
发布于 2010-07-08 02:03:41
是否可以在将该文件打包为jar时写入该文件?
简短的回答:不,不可能,jar文件是一个文件,而不是一个目录。实际上,您通常不会将属性文件写回jar文件。
您应该将该属性文件放在JAR之外的本地文件系统的类路径中。
发布于 2010-07-07 23:41:12
总是可以通过解包、重写和重新打包来修改打包的文件。有时这是最简单的方法。
Jar文件本质上是一个重命名的.ZIP文件。Java有用于访问.Zip文件中的文件的类,并且您可以(如果有足够的动力)编写自己的程序来执行此操作。
或者,我很确定也有ant任务可以做到这一点(想象一下创造性地使用jar任务),还有一些POM插件可用于从Maven运行ant任务。
https://stackoverflow.com/questions/3196336
复制相似问题