Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当从本机代码调用java方法时,如何解决传递给JNI的错误全局或本地ref_Java_Java Native Interface - Fatal编程技术网

当从本机代码调用java方法时,如何解决传递给JNI的错误全局或本地ref

当从本机代码调用java方法时,如何解决传递给JNI的错误全局或本地ref,java,java-native-interface,Java,Java Native Interface,我搜索了很多关于这个问题的答案,但没有一个答案与我的情况相匹配。我不知道我在哪里犯了错误。我用java创建了一个本机方法,并通过jni调用它。在本机方法中,我获得了一个java类方法的引用,并从那里调用它 我的java类如下所示: import java.util.ArrayList ; import java.util.LinkedHashMap ; public class WmiClientClassJson { static { System.load("

我搜索了很多关于这个问题的答案,但没有一个答案与我的情况相匹配。我不知道我在哪里犯了错误。我用java创建了一个本机方法,并通过jni调用它。在本机方法中,我获得了一个java类方法的引用,并从那里调用它

我的java类如下所示:

import java.util.ArrayList ; 
import java.util.LinkedHashMap ; 

public class WmiClientClassJson {

    static {
        System.load("C:\\Users\\vignesh-pt1616\\Desktop\\WmiClientLibraryJson\\Debug\\WmiClientLibraryJson.dll");
    }

    public native void createConnection(String query , LinkedHashMap<String,Object> map , ArrayList<LinkedHashMap<String,Object>> list);

    public static void main(String[] args)
    {
        WmiClientClassJson obj = new WmiClientClassJson(); 
        LinkedHashMap<String , Object> map = new LinkedHashMap<String , Object>(); 
        ArrayList<LinkedHashMap<String , Object>> list= new ArrayList<LinkedHashMap<String , Object>>();
        obj.createConnection("String" , map , list );
    }

    public void indexToEs()
    {
        System.out.println("index method called");
    }
}
请帮我解决这件事。提前谢谢

if( callingClass = NULL )
将获取类引用并将其更改为0

<>你应该多注意编译器警告,通常C++编译器提醒你永远不要写< /P>
if ( something = 0 )
解决办法是写作

if( callingClass == NULL )

所以,当你说“解决”时,你的意思是你在寻找如何调试这个问题的帮助?@DieNerd感谢你的回答。是的,有什么东西可以帮助我解决这个问题吗?你是否完整地注释掉了整个部分w/jMethod,直到dll的结尾&错误仍然存在?无论何时谈论容量大小都是一个问题。你也试过看size方法吗?是的,我试过注释所有其他代码。即使size方法和仅使用Callingclass和Methodid操作进行检查,仍然会得到相同的错误。你应该把你尝试过的不同东西放到问题中,给想帮你调试head的人开始…非常感谢。你救了我一天。现在一切都很完美
if ( something = 0 )
if( callingClass == NULL )