从 NetBeans 启动 ImageJ 插件会抛出 JNI 错误.单独从 ImageJ 启动它就可以正常工作



我有一个 ImageJ 插件及其源代码,需要一个.dll库才能运行。当我将其放入 ImageJ 插件文件夹时,该插件运行良好,没问题。

但是我必须修改源代码以添加新功能,所以我在 NetBeans 中打开了该项目(它已经是一个 NetBean 项目),并尝试使用一个简单的测试类从 IDE 启动它,该测试类启动 ImageJ 并将插件 dir 设置为项目 dist\ dir。这适用于我的所有其他插件,但在这里我得到一个不满意的链接错误。

经过一些研究和使用依赖沃克,我发现我错过了项目路径中的一些.dll。现在我把它们都放在正确的位置,用-Djava.library.path="paths_to_all_my_libs"执行,但我仍然收到错误,找不到特定过程。

这真的很困扰我,因为我必须将 dist 中的.jar复制到我的 ImageJ 安装中,冒着搞砸事情的风险,而且我无法使用控制台输出调试内容。我也不明白为什么我不能让它在 NetBeans 中工作,而单独使用 ImageJ 就可以了。

任何想法都非常欢迎!

您可以在此处使用两种方法:

  1. 确保将 DLL 位置添加到路径
  2. 如果您不关心位置(例如,您正在为自己开发一些东西),请使用 System.load 使用 DLL 的确切位置 - 它将库的显式位置作为参数

最新更新