如何将新的java类添加到jar文件中的现有类

时间:2012-08-03 18:16:32

标签: java jar

我为用java编写的软件创建了新模块。该软件从jar文件运行。我的类正在扩展该软件中的类。我想写一个插件,它将新类添加到jar文件中。我知道如何将jar文件解压缩到目录并使用java.util.jar包将它们添加到jar文件中,但由于要从文件中提取大量文件,是否可以在不提取文件的情况下添加新类以某种方式直接到文件夹。

3 个答案:

答案 0 :(得分:13)

您可以使用以下命令

jar uf foo.jar foo.class

答案 1 :(得分:6)

您的问题表明您希望使用命令行jar工具以编程方式执行此操作,

从文档中看来,您至少需要从现有JarInputStream获取JarFile,使用getNextJarEntry对条目进行迭代,然后写入{{3使用条目,还为每个新文件使用新的JarOutputStream对象添加自己的新文件。

JarEntry用于以编程方式从头开始编写jar的示例代码,这应该很好地扩展到您的案例,区别在于大多数JarEntry对象将来自JarInputStream

答案 2 :(得分:5)

jar uf jar-file input-file(s)

允许在jar中添加new files/update现有文件而不提取。