无法访问jar文件

时间:2009-10-22 13:21:49

标签: c# java

我有一个通过tcp访问java程序的c#程序。在我的C#程序中,我通过以下代码行启动java程序:

var process = new Process
{
  StartInfo =
  {
      UseShellExecute = false,
      CreateNoWindow = false,
      FileName = "cmd.exe",
      Arguments = (@"/c java -ms16m -mx512m -jar pathToJavaApp/javaApp.jar 3562")
  }
};

这项工作正常我直到现在都没有问题。我已经在同事的电脑上安装了我的程序。现在我收到错误:无法访问jar文件。

所以我尝试在命令行“java -jar javaApp.jar”中立即启动javaApp。

我尝试以管理员身份启动程序,同样的错误。 (windows vista)

目前我不知道问题可能是什么。

3 个答案:

答案 0 :(得分:2)

我的猜测是jar文件的路径包含空格。你需要引用它。例如:

Arguments = "/c java -ms16m -mx512m -jar \"" + pathToJavaApp 
    + "\"/javaApp.jar 3562"

答案 1 :(得分:0)

2件事 -

  • 它是-Xmx和-Xms,而不是-ms,-mx。

  • 您的程序是否加载了其他罐子?也许它们存在于您的同事计算机上,但不存在于它不能运行的计算机上。

(虽然Jon Skeet的回答看起来更有可能)

答案 2 :(得分:0)

为了更多地了解正在发生的事情,请将您的论点更改为:

  Arguments = (@"/c java -verbose -ms16m -mx512m -jar pathToJavaApp/javaApp.jar 3562")

通过这种方式,您可以看到它正在尝试加载的内容,看看Jon Skeet是否正确。