【问题标题】:Installing Java API for GPIB devices in eclipse在 Eclipse 中为 GPIB 设备安装 Java API
【发布时间】:2015-06-13 18:02:06
【问题描述】:

这可能是一个微不足道的问题,但我在将一个名为 JPIB_Windows 的 Java API 安装到 eclipse 中时遇到了问题,它应该允许我控制通过 GPIB 连接的外部设备。

这是我下载的文件夹的内容。

我在Eclipse中新建了一个项目,右键项目,进入构建路径->配置构建路径。

然后我点击添加外部库并添加了 JPIB.jar 文件。文件已添加,但我仍然无法使用 API 中的类。

我还需要做些什么才能使用 API 吗?有没有更好的方法将此 API 导入我的项目?

【问题讨论】:

    标签: java eclipse api jar gpib


    【解决方案1】:

    您的 jar 文件已正确安装。 JPIB(和许多其他 Java 库)只是低级例程的包装器。所以在使用 Java 类之前必须加载相应的原生库。

    在 Eclipse 中,转到 Run > Run Configurations... > Arguments 选项卡,为 main 方法选择配置.然后在 VM arguments 字段中指定:

    -Djava.library.path=C:\path\to\jpib\dll

    然后在main()的开头添加以下行:

    System.loadLibrary("jpib_32");

    然后运行已编辑的配置。一切都应该没问题。但如果失败,您可以检查 DLL 的路径:

    System.out.println("Libary path: " + System.getProperty("java.library.path"));

    也可以在同一个tab中指定工作目录,避免使用绝对路径,但首次使用绝对路径简单,不易出错。

    另请注意,Java 可能无法识别特定于 Windows 的问题(缺少驱动程序、用户权限不足、DLL 版本错误)并且会报告一般错误。

    【讨论】:

    • 感谢您的回复,但我仍然遇到问题。我将 DLL 路径添加到 VM 参数。当我尝试加载库时,我收到错误java.lang.UnsatisfiedLinkError: no jpib_64 in java.library.path(即使我的系统是 64 位,我也尝试了 jpib_64 和 jpib_32)。但是当我打印到 DLL 的路径时,它会按预期映射到 DLL,所以我对为什么无法加载库感到困惑。 DLL 保存在我的计算机上的哪个位置是否重要?关于下一步我可以尝试什么来使其正常工作的任何其他想法?
    • 我在 Windows XP 32bit 和 Java 7 上进行了尝试。我下载了 JPIB 1.2。然后我将 JPIB.jar 放入 C:\JPIB_JAR 并将 jpib_32.dll 放入 C:\JPIB_DLL。我删除的所有其他文件。然后我在 Eclipse 中创建了项目,将 JPIB.jar 添加为“外部 jar”。并在运行配置中指定-Djava.library.path=C:\JPIB_DLLnew GPIBDevice(0, new WindowsGPIBDriver()); 打印 'GPIB Library 32bit'。
    猜你喜欢
    • 2017-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-08
    • 1970-01-01
    • 1970-01-01
    • 2020-07-04
    • 1970-01-01
    相关资源
    最近更新 更多