我已经开始了一个java项目。我想使用一个名为PDFnet的库。但它给出了错误。我在哪里弄错了?
public class MainClass {
public static void main(String[] args)
{ //System.out.println(System.getProperty("java.library.path"));
//System.loadLibrary("C:\\Users\\BDagli\\Downloads\\PDFNetC64\\Lib\\PDFNet");
boolean uninstallPrinterWhenDone = false; // change this to test the uninstallation functions
PDFNet.initialize();
C:\Program Files\Java\jre7\bin;C:\WINDOWS\Sun\Java\bin;Files\Java\jdk1.7.0_71\bin;.....
Exception in thread "main" java.lang.UnsatisfiedLinkError: no PDFNetC in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at pdftron.PDF.PDFNet.<clinit>(PDFNet.java:21)
at com.pdf.net.MainClass.main(MainClass.java:19)
答案 0 :(得分:2)
我不建议将任何dll放在System32文件夹中(没有很好的理由)。至少你最终可能会使用你不想要的库,因为System32可能是更高优先级的库加载文件夹。至少,使用PATH环境变量指定PDFNetC.dll所在的文件夹。
然而,最好“解决”这个问题...... 如果查看PDFNet附带的Java示例,您将在所有JAVA示例文件夹RunText.bat中看到以下文件 其中包括以下内容。
@echo off
setlocal
set TEST_NAME=DigitalSignaturesTest
javac.exe -cp .;../../../Lib/PDFNet.jar *.java
java.exe -Djava.library.path=../../../Lib -classpath .;../../../Lib/PDFNet.jar %TEST_NAME%
endlocal
因此,您只需将 java.library.path 设置为IDENet中包含PDFNetC.dll的文件夹即可。我不确定如何在IDE中设置它,但我确信它很容易找到。
以下是我在Google上发现的第一个更好地描述此变量的链接。 http://www.coderanch.com/t/377174/java/java/java-library-path
答案 1 :(得分:0)
我正在使用Eclipse for IDE。然后我补充说。他们够了吗?我没有太多经验
我已经解决了。
我将PDFNetC.dll放入C:\ Windows \ System32
答案 2 :(得分:0)