2015-04-29 24 views
0

我需要生成一个JAR文件(在代码)清单一个JAR:生成包含以下权限清单

Permissions: all-permissions 

到目前为止,我已经这么远得到:

Manifest manifest = new Manifest(); 
    Attributes global = manifest.getMainAttributes(); 
    global.put(new Attributes.Name("Permissions"), "all-permissions"); 
    File jarLoader = new File("test.jar"); 
    OutputStream os = new FileOutputStream(jarLoader); 
    JarOutputStream jos = new JarOutputStream(os, manifest); 
    jos.close(); 

然而这完全擦除了jar文件的内容,创建了清单,清单是空白的。在阅读了一些关于这方面的信息后,我不明白自己做错了什么,并希望有人能指出我的正确方向。

+0

您是否想将清单合并到现有的jar文件中?目前您正在生成清单,并将其保存到新的空白jar文件中。 – Matthias

+0

@Matthias - 这是正确的。该jar文件已经存在。 – Hobbyist

回答

0

在我的理解(我不是专家),你应该打开一个JarInputStream的jar文件,你已经拥有并迭代JarEntry的(如在这里:jarinputstreamexample)。每个不属于“Manifest.mf”的条目都直接传递给下一个JarOutputStream(你有一个已经可用的对吧?)。对于属于当前jar的manifest.mf的JarEntry,你用你自己的版本替换,你就完成了!

对不起,没有更具体的。