我想使用我的C#程序运行Java控制台应用程序并获取其输出。
截至目前,我很难运行带有参数的java.exe,在这种情况下,是要执行的.java文件的名称。
假设已编译的Java控制台应用程序的名称是:JavaConsoleApplication
在执行时会打印“hello world”,我还会放置一个JOptionPane MessageDialog,以确保它在我执行C#程序时运行。
我的代码:
System.Diagnostics.Process JavaTest = new System.Diagnostics.Process();
JavaTest.StartInfo.FileName = @"C:\xxxxx\java.exe";
JavaTest.StartInfo.Arguments = "JavaConsoleApplication";
JavaTest.StartInfo.UseShellExecute = false;
JavaTest.StartInfo.RedirectStandardOutput = true;
JavaTest.Start();
richtTextbox1.Text = JavaTest.StandardOutput.ReadToEnd();
JavaTest.WaitForExit();
我现在的问题是我的代码无法使用上面指定的参数运行Java应用程序。
有什么想法吗?或者我的代码有问题吗?
答案 0 :(得分:0)
您忘记提供类路径(参数-cp)。
首先尝试手动运行java应用程序。你必须这样说:
java -cp YOUR-CLASSPATH JavaConsoleApplication ARGUMENTS-IF-ANY
类路径通常是用以下分隔的jar文件列表; (如果你在窗户上)。确保您提供的jar文件的路径是正确的。
祝你好运。