Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.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时,如何设置由“jps”显示的主类?_Java_C_Java Native Interface_Jconsole - Fatal编程技术网

Java 在使用JNI时,如何设置由“jps”显示的主类?

Java 在使用JNI时,如何设置由“jps”显示的主类?,java,c,java-native-interface,jconsole,Java,C,Java Native Interface,Jconsole,在通过JNI启动Java进程时,如何设置由jps或JConsole显示的主类的名称 在C中,我得到一个类和main方法,如下所示: jclass main_class = (*env)->FindClass(env, java_main_class); ... jmethodID main_method = (*env)->GetStaticMethodID(env, main_class, "main", "([Ljava/lang/String;)V"); 然后像这样启动Jav

在通过JNI启动Java进程时,如何设置由
jps
或JConsole显示的主类的名称

在C中,我得到一个类和main方法,如下所示:

jclass main_class = (*env)->FindClass(env, java_main_class);
...
jmethodID main_method = (*env)->GetStaticMethodID(env, main_class, "main", "([Ljava/lang/String;)V");
然后像这样启动Java:

(*env)->CallStaticVoidMethod(env, main_class, main_method, main_args);
我的进程运行得很好,但是当我运行
jps
时,我看不到主类。例如:

$ jps -l
30056 
30065 sun.tools.jps.Jps
在JConsole中查找进程时,我还看到一个空白字符串

但是,我确实看到了带有
jps
的参数:

$ jps -lv
30068  -Dfile.encoding=UTF-8 -Xmx500m ...
30070 sun.tools.jps.Jps -Dapplication.home=

设置系统属性
sun.java.command

例如:
-Dsun.java.command=com.example.Main


我通过搜索与JDK一起分发的中找到了此标记。

这与“C”无关,因此请删除“C”标记