将类文件作为与java代码分开的进程运行

use*_*022 1 java class process runtime.exec

public static void main(String args[]) throws IOException
{
    Process p = Runtime.getRuntime().exec("java E:/workspace/JNIProgram/src/JNIProgram.class");
}   
Run Code Online (Sandbox Code Playgroud)

所以我有这个代码,我正在尝试运行JNIProgram.class文件,但程序立即终止而不做其工作(这是创建一个新的txt文件并写入它)

那么我做错了什么

Jes*_*per 6

java命令需要Java 类名,而不是文件名.

所以命令java E:/workspace/JNIProgram/src/JNIProgram.class错了.如果您从命令提示符窗口手动尝试此操作,您将收到一条错误消息.

命令应该是这样的:

java -cp E:\workspace\JNIProgram\src JNIProgram
Run Code Online (Sandbox Code Playgroud)

注意:-cp选项后面的是classpath,之后是完全限定的类名(JNIProgram如果类不在包中,则只是).

首先确保您可以从命令行手动运行该命令,然后再从另一个Java程序运行该命令.