使用JNI调用java模块中的main方法

使用JNI调用java模块中的main方法,java,c,java-native-interface,Java,C,Java Native Interface,我一直在尝试调用一个类的main方法并向它传递一些参数 我的代码如下: args = (*env)->NewObjectArray(env, 2, myClass, NULL); arg1 = (*env)->NewStringUTF(env, "Hello"); arg2 = (*env)->NewStringUTF(env, World!"); (*env)->SetObjectArrayElement(env, args, 0, arg1); (*env)->

我一直在尝试调用一个类的main方法并向它传递一些参数

我的代码如下:

args = (*env)->NewObjectArray(env, 2, myClass, NULL);
arg1 = (*env)->NewStringUTF(env, "Hello");
arg2 = (*env)->NewStringUTF(env, World!");
(*env)->SetObjectArrayElement(env, args, 0, arg1);
(*env)->SetObjectArrayElement(env, args, 1, arg2);
(*env)->CallStaticVoidMethod(env, myClass, mainMethod, args);
但它似乎不起作用。
当我在java代码中打印
args
数组时,它会打印空值。

您正在创建一个“myClass”数组,而不是字符串数组

stringClass = (*env)->FindClass(env, "java/lang/String");
args = (*env)->NewObjectArray(env, 2, stringClass, NULL);
你是说世界!而不是世界!“?