JAVA - jar - без основного атрибута манифеста - PullRequest
0 голосов
/ 26 ноября 2018

Я пытаюсь создать флягу и добавить манифест, так как мой класс по умолчанию не может быть найден, независимо от того, что я делаю, я проверил, могут ли потоки на SO, все еще не повезло

вот как я создаю свой класс и создаюфайл 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
...