打开JarFile问题

本文关键字:问题 JarFile 打开 | 更新日期: 2023-09-27 18:22:10

在过去的一个小时里,我试图运行一个可执行jar,但我得到了标准错误Cannot access jarfile <jarpath>。过了一段时间,我确定这是一个引号问题,因为路径包含空格。

但是,我将路径存储在一个字符串变量中,当我尝试用双引号连接包含jar路径的字符串时,它仍然失败。我应该如何解决这个问题?

举例说明:

string path = /* %appdata% folder */ + ""''Application Name''" + "Application.jar";
//add the double quotes
path = path + "'"";
path += "'"";
Process javaProcess = new Process()
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "javaw";
startInfo.Arguments = @"-jar " + path;
//startInfo.Arguments = @"-jar" + "'"C:...''Application''Application.jar'"";
//this one works, though
javaProcess.StartInfo = startInfo;
javaProcess.Start(); //Fails - cannot access jarfile!

打开JarFile问题

在命令行中运行.jar文件时,可以省略文件名末尾的.jar。

javaw -jar Application

我太笨了。真的很愚蠢。

我解决了,伙计们。在我的代码中,我使用System.IO.Path来组合我的路径,但这实际上把路径搞砸了,以至于javaw无法识别路径。因此,我将其更改为:

string path = "'"" + %appdata% + fileName + "'"";

而且效果很好。