Я пытаюсь создать флягу и добавить манифест, так как мой класс по умолчанию не может быть найден, независимо от того, что я делаю, я проверил, могут ли потоки на 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