gpt4 book ai didi

java - 使用JNI时如何设置 `jps`显示的主类?

转载 作者:行者123 更新时间:2023-11-30 17:06:54 25 4
gpt4 key购买 nike

通过 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 时,我看不到 Main 类。例如:

$ 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

我通过搜索 source code for the java executable 找到了这个随 JDK 一起分发。

关于java - 使用JNI时如何设置 `jps`显示的主类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34382604/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com