我只能猜测,因为缺少用于在C#程序中调用java程序的代码行。目前还不清楚你想要达到什么目的。决定是在更改孩子还是主流程中的“当前工作目录”。
子进程
我假设你想使用类似的代码来执行这样的事情java -jar path\to\some.jar
:从here
改编
using System.Diagnostics;
//...
ProcessStartInfo p = new ProcessStartInfo();
p.Arguments = new string[]{"-jar", "path\to\some.jar";
p.FileName = "java.exe";
p.WindowStyle = ProcessWindowStyle.Hidden;
p.CreateNoWindow = true;
using (Process proc = Process.Start(start))
{
proc.WaitForExit();
}
然后,你可以加入这一行
p.WorkingDirectory = "path\to";
改编自here
由p
实例覆盖与特定的当前工作目录设置你的孩子的过程。这将设置当前工作目录以调用java
子进程。
主要工艺
要设置为周围的主要工序中当前的工作目录此行添加到您的程序:
System.IO.Directory.SetCurrentDirectory("some\other\path");
MSDN文档SetCurrentDirectory
您应该设置当前工作目录与调用的程序在调用它之前所期望的内容。 –
是的,我只是想一想,但我如何设置jar的工作目录?我尝试使用-cp参数,但没有结果 –
您必须在调用java命令的周围环境中执行此操作。 –