簡體   English   中英

Jar文件在Web服務器上不起作用

[英]Jar file doesn't work on the web server

我有一個Jar文件,可以使用控制台在Mac上正常運行:

 MacBook-Pro-Pavel:PDFparser pavelpigalev$ java -jar PDFparser.jar
 Usage: java PDFparser <input-pdf> -p1 <password> -c1 -i0 -s1
    -p1 : PDF password
    -c1 : write JSON to console
    -i0 : don't extract images
    -s1 : take page screenshots [WARNING: currently in beta]
 MacBook-Pro-Pavel:PDFparser pavelpigalev$ java -jar PDFparser.jar f5.pdf
 MacBook-Pro-Pavel:PDFparser pavelpigalev$ 

它創建一個文件夾,並在該文件夾中放入我需要的圖像。

但是,如果我在Web服務器(也使用控制台)上使用它,則會出現此錯誤:

 [root@somesite.com pdfparser]$ ls
ffive.pdf  lib  PDFparser.jar  README.TXT
[root@somesite.com pdfparser]$ java -jar "PDFparser.jar"
Usage: java PDFparser <input-pdf> -p1 <password> -c1 -i0 -s1
    -p1 : PDF password
    -c1 : write JSON to console
    -i0 : don't extract images
    -s1 : take page screenshots [WARNING: currently in beta]
[root@somesite.com pdfparser]$ java -jar "PDFparser.jar" ffive.pdf
Exception in thread "main" java.lang.ClassNotFoundException: javax.vecmath.Vector2d not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:PDFparser.jar], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
   at java.net.URLClassLoader.findClass(libgcj.so.10)
   at java.lang.ClassLoader.loadClass(libgcj.so.10)
   at java.lang.ClassLoader.loadClass(libgcj.so.10)
   at java.lang.reflect.Field.getType(libgcj.so.10)
   at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.excludeField(ReflectiveTypeAdapterFactory.java:56)
   at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:111)
   at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:72)
   at com.google.gson.Gson.getAdapter(Gson.java:353)
   at com.google.gson.internal.bind.CollectionTypeAdapterFactory.create(CollectionTypeAdapterFactory.java:52)
   at com.google.gson.Gson.getAdapter(Gson.java:353)
   at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.<init>(ReflectiveTypeAdapterFactory.java:82)
   at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:81)
   at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:118)
   at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:72)
   at com.google.gson.Gson.getAdapter(Gson.java:353)
   at com.google.gson.Gson.toJson(Gson.java:578)
   at com.google.gson.Gson.toJson(Gson.java:565)
   at com.google.gson.Gson.toJson(Gson.java:520)
   at com.google.gson.Gson.toJson(Gson.java:500)
   at pdfparser.PDFparser.main(PDFparser.java:163)

我沒有制作這個Jar文件,我對Java不太了解。 我使用PHP,因此我確實需要此程序在服務器上運行良好。 有人可以幫我嗎?

將vechmath .jar放在您的課​​程路徑中

或者-將支持的.jar添加到類路徑中

export CLASSPATH=$CLASSPATH:/path/to/vecmath.jar

或-在運行時供應

java -cp vecmath-xxx.jar -jar Yourjar.jar

類路徑的重要性

您所使用的JVM與Macbook中使用的JVM不同。 您正在使用GNU JVM,如not found in gnu.gcj.runtime.SystemClassLoader

嘗試使用java -version確認它,然后更改您的JVM

嘗試在Mac上找到vecmath-1.3.1.jar文件,並將其放在與PDFparser.jar相同的目錄中。 嘗試運行。 如果沒有成功,請嘗試按以下方式運行:

 java -cp vecmath-1.3.1.jar -jar "PDFparser.jar"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM