Jar 文件类路径问题

问题描述 投票:0回答:1

我正在开发一个 C# 应用程序,它可以访问控制台来运行 java 命令并执行特定的 jar,但是当我运行该程序时,执行的 jar 文件会在程序输出上生成其文件,例如日志和配置,但我想运行特定文件夹中已有的 jar 及其文件。

问题是我尝试了很多 java 参数,但是从 jar 生成的输出文件每次都会从我的 Visual Studio 项目发送到我的 Debug 文件夹。

希望有人理解我,我对我的英语感到非常困惑和抱歉,我是巴西人 暂时先谢谢大家的支持!

java c# jar
1个回答
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();
}

改编自此处

然后你可以添加这一行

p.WorkingDirectory = "path\to";

改编自此处

使用特定的当前工作目录设置

p
实例覆盖的子进程。这将为调用您的
java
子进程设置当前工作目录。

主要流程

要为周围的主进程设置当前工作目录,请将此行添加到您的程序中:

System.IO.Directory.SetCurrentDirectory("some\other\path");

MSDN 文档

SetCurrentDirectory

© www.soinside.com 2019 - 2024. All rights reserved.