使用System.Diagnostics.Process启动Jar文件

Aab*_*ela 3 c# java system.diagnostics

我有一个jar文件,我想在C#中运行.

这是我到目前为止所拥有的:

clientProcess.StartInfo.FileName = @"java -jar C:\Users\Owner\Desktop\myJarFile.jar";
            clientProcess.StartInfo.Arguments = "[Something]";

            clientProcess.Start();
            clientProcess.WaitForExit();

            int exitCode = clientProcess.ExitCode;
Run Code Online (Sandbox Code Playgroud)

不幸的是,我得到"系统找不到指定的文件",这是有道理的,因为它不是一个文件的命令.

我见过在线代码告诉你使用:

System.Diagnostics.Process.Start("java -jar myprog.jar");
Run Code Online (Sandbox Code Playgroud)

但是我需要返回代码,我需要等待它退出.

谢谢.

Aab*_*ela 11

终于解决了.文件名必须是java,参数必须包含jar文件的位置(以及你要传递的任何参数)

System.Diagnostics.Process clientProcess = new Process();
clientProcess.StartInfo.FileName = "java";
clientProcess.StartInfo.Arguments = @"-jar "+ jarPath +" " + argumentsFortheJarFile;
clientProcess.Start();
clientProcess.WaitForExit();   
int code = clientProcess.ExitCode;
Run Code Online (Sandbox Code Playgroud)