我需要在另一个目录中执行.jar
文件。以下是我尝试执行此任务的代码,
try
{
Process p = new Process();
p.StartInfo.FileName = @"java cp D:\nfc\nfctools-examples-M9\nfctools-examples-M9\src\main\java\nfctools-examples.jar";//, @"-cp nfctools-examples.jar org.nfctools.examples.hce.HceDemo");
p.StartInfo.Arguments = @"org.nfctools.examples.hce.HceDemo";
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.UseShellExecute = false;
p.Start();
String s = p.StandardOutput.ReadToEnd();
p.WaitForExit();
textBox1.Text = textBox1.Text + "data = " + s;
}
catch (Exception ex) {
MessageBox.Show(ex.ToString());
}
但我收到错误The system cannot find the file specified error
。我完成了关于帖子的任务,
如果专家能帮助我解决这个错误,我将非常感激。非常感谢你:))
修改
路径org.nfctools.examples.hce.HceDemo
位于D:\nfc\nfctools-examples-M9\nfctools-examples-M9\src\main\java\
。
文件夹结构是,
D:\
nfc\
nfctools-examples-M9\
nfctools-examples-M9\
src\
main\
java\
*nfctools-examples.jar
|org\
| nfctools\
| examples\
| hce\
| HceDemo.java
*表示需要执行的.jar文件,管道符号表示cp
显示的类路径org.nfctools.examples.hce.HceDemo
。
此执行在命令提示符下通过java -cp nfctools-examples.jar org.nfctools.examples.hce.HceDemo
文件夹中的D:\nfc\nfctools-examples-M9\nfctools-examples-M9\src\main\java\
完成。
我的要求是通过C#
执行执行,并将jar
文件执行的结果获取到textbox
。
答案 0 :(得分:1)
FileName指定的文件必须存在。不要向此属性添加任何参数。因此,您必须将代码转换为:
p.StartInfo.FileName = @"java";
p.StartInfo.Arguments = @"cp D:\nfc\nfctools-examples-M9\nfctools-examples-M9\src\main\java\nfctools-examples.jar org.nfctools.examples.hce.HceDemo";