我尝试创建一个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