当前位置: 首页 > 面试题库 >

使用System.Diagnostics.Process启动Jar文件

南门野
2023-03-14
问题内容

我有一个要从C#中运行的jar文件。

这是我到目前为止的内容:

clientProcess.StartInfo.FileName = @"java -jar C:\Users\Owner\Desktop\myJarFile.jar";
            clientProcess.StartInfo.Arguments = "[Something]";

            clientProcess.Start();
            clientProcess.WaitForExit();

            int exitCode = clientProcess.ExitCode;

不幸的是,我得到“系统找不到指定的文件”,这很有意义,因为它不是命令文件。

我在网上看到过代码,告诉您使用:

System.Diagnostics.Process.Start("java -jar myprog.jar");

但是,我需要返回码,并且需要等待它退出。

谢谢。


问题答案:

终于解决了。文件名必须是java,参数必须包含jar文件的位置(以及您要传递的所有参数)

System.Diagnostics.Process clientProcess = new Process();
clientProcess.StartInfo.FileName = "java";
clientProcess.StartInfo.Arguments = @"-jar "+ jarPath +" " + argumentsFortheJarFile;
clientProcess.Start();
clientProcess.WaitForExit();   
int code = clientProcess.ExitCode;


 类似资料:
  • 问题内容: 美好的一天! 我创建了jar文件(使用Netbeans),但无法启动。该项目使用lwjgl库。在我的IDE中,它运行良好。 我使用下一个命令: 答案是: 其他项目(没有此库)可以正常工作。我该如何解决这个错误? 我的清单是: 问题答案: 由于您需要将本地文件放在jar旁边,并通过’-Djava.library.path’参数指向它们,因此它无法按照您当前尝试的方式工作。 如果您只想要一

  • Spring有以下用于运行可执行的Spring Bootjar的文档。 但是,我从终端使用nohup linux命令运行这个jar,并且运行良好。 问题是:使用nohup还是使用init.d服务,会对应用程序产生相同的结果吗?还是使用init.d总是正确的方法?

  • 我有一个Java应用程序,它位于我编译为可执行jar文件的系统托盘中。我想在我的程序中添加添加到系统启动项的选项。 由于我不知道有什么统一的方法可以为所有操作系统做到这一点,我假设我必须为我打算支持的每个操作系统编写代码,所以我从Windows开始。 当我试图使用此处可用的代码将其添加到注册表中时,我发现在Windows 7和8下,除非我具有管理员权限(通过从提升的命令提示符运行),否则我对注册表

  • 我在eclipse中有一个项目,它使用ant来编译和jar类文件和引用的jar。使用eclipse中的默认java builder生成的类文件生成的jar文件工作良好,但是当使用ant编译源代码然后jar结果时,在目标构建上执行java-jar时会出现错误“错误:尝试打开文件时出现意外错误”结果。有人知道我做错了什么吗?下面是构建xml内容。下面是我传递给ant的参数 -dintouchv.src

  • 使用命令获取此错误: jar是用mvn clean包和mvn安装构建的 聚甲醛