3

C#内から実行したいjarファイルがあります。

これが私がこれまでに持っているものです:

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

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

            int exitCode = clientProcess.ExitCode;

残念ながら、「システムは指定されたファイルを見つけることができませんでした」というメッセージが表示されます。これは、ファイルではなく、コマンドであるため、意味があります。

私はあなたに使用するように指示するコードをオンラインで見ました:

System.Diagnostics.Process.Start("java -jar myprog.jar");

ただし、リターンコードが必要であり、終了するのを待つ必要があります。

ありがとう。

4

2 に答える 2

12

ついにそれを解決しました。ファイル名は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;
于 2012-06-14T10:13:12.310 に答える
2

実行可能ファイルの環境変数を設定するか、のフルパスを指定する必要がPathありjava.exeますjava.exe

 ProcessStartInfo ps = new ProcessStartInfo(@"c:\Program Files\java\jdk1.7.0\bin\java.exe",@"-jar C:\Users\Owner\Desktop\myJarFile.jar");
 Process.Start(ps);
于 2012-06-12T13:52:44.977 に答える