JAVA-jar-没有主清单属性

时间:2018-11-26 11:49:59

标签: java manifest

我尝试创建一个jar并添加一个清单,因为无论我做什么都找不到我的默认类 我检查了可能的线程,仍然没有运气

这是我创建班级和创建jar文件的方式

javac.exe -d dist -classpath ./pdfbox-app-2.0.12.jar Pdf.java
jar.exe -cvfm Pdf.jar manifest.txt dist/com/company/*.class
jar.exe tf Pdf.jar 
java.exe -jar Pdf.jar

jar命令给出:

added manifest
adding: dist/com/company/Pdf.class(in = 1150) (out= 658)(deflated 42%)

这是manifest.txt中设置的

Manifest-Version: 1.0
Created-By: My Name
Main-Class: com.company.Pdf

当我检查文件中的清单时,它不会随行更新

如果需要,这里是Java代码:

package com.company;

import java.io.File;
import java.io.IOException;

import org.apache.pdfbox.pdmodel.PDDocument; 
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.interactive.form.PDAcroForm;
import org.apache.pdfbox.pdmodel.encryption.InvalidPasswordException;

public class Pdf {
    public static void main(String[] args) {
        if(args.length<2)
        {
            System.out.println("Error ! need 2 parameters");
        }
        try
        {
            //Load the document
            PDDocument pDDocument = PDDocument.load(new File(args[0]));    
            PDAcroForm pDAcroForm = pDDocument.getDocumentCatalog().getAcroForm();

            //Fill the document


            //Flatten the document
            pDAcroForm.flatten();

            //Save the document
            pDDocument.save(args[1]);
            pDDocument.close();
        }
        catch(InvalidPasswordException e)
        {

        }
        catch(IOException e)
        {

        }
    }
}

我该怎么办?

谢谢

[答案]

这是我的方法

del Pdf.jar
javac -d build -classpath lib/pdfbox-app-2.0.12.jar Pdf.java
jar -cfM Pdf.jar -C build com 
jar umf META-INF/MANIFEST.MF Pdf.jar
jar tf Pdf.jar 

这是测试

java -jar Pdf.jar 

我使用的清单

Manifest-Version: 1.0
Created-By: ......
Main-Class: com.company.Pdf
Class-Path: lib/pdfbox-app-2.0.12.jar

0 个答案:

没有答案