有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java从NetBeans启动ImageJ插件会抛出一个JNI错误。仅从ImageJ启动它就可以了

我有一个ImageJ插件和它的源代码,需要。dll库,以便操作。当我把插件放到ImageJ插件文件夹中时,它工作得非常好,没问题

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

经过一些研究和使用Dependency Walker后,我发现我错过了一些。dll位于项目路径中。现在我把它们都放在正确的地方,用-Djava执行。图书馆path=“paths_to_all_my_libs”并且我仍然得到错误,找不到特定的过程

这真的让我很烦恼,因为我得抄这本书。jar位于ImageJ安装的远端,可能会把事情搞砸,而且我无法使用控制台输出调试内容。另外,我不明白为什么我不能让它在NetBeans中工作,而仅仅使用ImageJ就可以了

任何想法都欢迎


共 (1) 个答案

  1. # 1 楼答案

    这里有两种方法:

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