打开JarFile问题

时间:2013-07-14 04:26:34

标签: c# jar executable-jar

我试图在过去一小时内运行一个可执行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!

2 个答案:

答案 0 :(得分:0)

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

javaw -jar Application

答案 1 :(得分:0)

我是个傻瓜。真傻。

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

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

它运作得很好。