使用类路径(cp)在单独的位置执行java控制台应用程序
本文关键字:位置 执行 java 应用程序 控制台 单独 路径 cp | 更新日期: 2023-09-27 18:05:13
我需要在另一个目录中执行一个.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
。我参照帖子完成了任务,
- 使用System.Diagnostics.Process 启动Jar文件
- 从C代码中执行Jar文件并获得返回值
编辑
路径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文件,管道符号表示org.nfctools.examples.hce.HceDemo
所示的类路径cp
。
这个执行是在命令提示符下通过java -cp nfctools-examples.jar org.nfctools.examples.hce.HceDemo
从D:'nfc'nfctools-examples-M9'nfctools-examples-M9'src'main'java'
文件夹中完成的。
我的要求是通过C#
执行,并获得jar
文件执行到textbox
的结果。
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";