我正在开发一个C#应用程序,它可以访问控制台来运行java命令并执行特定的jar,但是当我运行程序时,执行的jar文件会在程序输出上生成他的文件,比如日志和配置,但我想要用他的文件运行已经在特定文件夹中的jar 问题是我尝试了很多java参数,但jar中生成的输出文件每次从我的visual studio项目转到我的Debug文件夹 希望有人理解我,我很困惑,抱歉我的英语,我是brazillian 现在,感谢您的支持!
答案 0 :(得分:2)
我只能猜测,因为缺少用于从C#程序中调用java程序的代码行。目前还不清楚你究竟想要达到的目标。决定更改"当前工作目录"在孩子或主要过程中。
我假设您希望使用与此类似的代码执行类似java -jar path\to\some.jar
的内容:
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();
}
改编自here
然后你可以添加这一行
p.WorkingDirectory = "path\to";
改编自here
使用特定的当前工作目录设置p
实例所涵盖的子进程。这将设置调用java
子进程的当前工作目录。
要为周围的主进程设置当前工作目录,请将此行添加到您的程序中:
System.IO.Directory.SetCurrentDirectory("some\other\path");
的MSDN文档