【问题标题】:Can not compile a project with PDFNet jar in jdk 1.7无法在 jdk 1.7 中使用 PDFNet jar 编译项目
【发布时间】:2014-10-24 14:07:20
【问题描述】:

我已经启动了一个 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)

【问题讨论】:

  • 您使用什么 IDE?如果您使用的是 Eclipse,请确保该 jar 文件位于项目的类路径中。

标签: java unsatisfiedlinkerror pdfnet


【解决方案1】:

我不建议将任何 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 设置为 PDFNetC.dll 在 IDE 中的文件夹。我不确定如何在你的 IDE 中设置它,但我相信它很容易找到。

这是我在谷歌上找到的第一个更好地描述这个变量的链接。 http://www.coderanch.com/t/377174/java/java/java-library-path

【讨论】:

    【解决方案2】:

    我正在为 IDE 使用 Eclipse。然后我加了。他们够了吗?我没有太多经验

    我解决了。

    我把 PDFNetC.dll 放到 C:\Windows\System32

    【讨论】:

      【解决方案3】:

      如果任何使用Eclipse 的人通过这篇文章来,请确保您导入的PDFNet.jar 在Eclipse 中指定Native library location,如下所示:

      我在上面Native library location 中指定的目录包含PDFNetC.dll(或PDFNetC.so 用于Linux,PDFNetC.dylib 用于Mac)。

      您可以通过以下方式访问 Java 构建路径:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-03-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多