2011-06-13 54 views
1

我有一个.ear文件(类似于tar/zip的存档文件),其中有一个文件,我想要更改。如何在不提取整个文件的情况下更改存档(.ear)文件中的文件

例如myfile.ear包含1.txt,我想改变1.txt2.txt,可能也会改变一些内容里面1.txt(如sed一样)

我真的想避免提取myfile.ear,更改文件和再次压缩它。

有没有人知道在linux中实现这一点的方法?

如果这是不可能的,我也想知道为什么

谢谢。

回答

1

EAR文件只是JAR文件,它们只是ZIP文件。 ZIP格式IIRC包含元数据和数据交错,因此更改一个文件(可能比它所替换的文件更大/更小)可能不适合(或留下空白),因此在所有实际条件下文件都必须重写当做修改时。

+0

是否有可能然后只提取特定的文件,修改它并将其重新放回?还是我必须再次压缩一切? – Michael 2011-06-14 21:15:44

+0

我曾经使用的任何ZIP util都会重新创建这些类型修改的存档。 – Joe 2011-06-15 02:45:29