删除META-INF文件夹

时间:2014-02-01 18:07:00

标签: java meta-inf

我需要删除jarFile.jar> /META-INF文件夹。

首先,我将原始jarFile.jar提取到temp/ folder

然后我删除META-INF/

再次压缩,没有错误,但文件显示已损坏。

任何人都可以帮助我?

编辑:

public static void removeJarFiles(File jarFile, String[] files) throws IOException {
    File tempFolder = new File(jarFile.getParentFile(), "temp/");
    tempFolder.mkdirs();
    unZip(jarFile.getAbsolutePath(), tempFolder.getAbsolutePath()); // Decompress JAR
    // Delete files
    for (String file : files) {
        File f = new File(tempFolder, file);
        if (f.isDirectory()) {
            Util.deleteDir(f);
        } else {
            if (f.exists()) {
                f.delete();
            }
        }
    }
    jarFile.delete(); // Delete OLD Jar
    // Re-Create JAR
    zipFolder(tempFolder.getAbsolutePath(), jarFile.getAbsolutePath());
}

1 个答案:

答案 0 :(得分:3)

如果从jar中删除META-INF,则没有MANIFEST.MF,因此java -jar找不到主类。

您可以创建没有META-INF的jar,但是当您要执行jar时,需要META-INF / MANIFEST.MF。

请参阅http://docs.oracle.com/javase/7/docs/technotes/guides/jar/jar.html