Java ProcessBuilder在传递参数时使用字符串中的句点而不是斜杠

时间:2015-11-20 02:57:08

标签: java processbuilder xterm

我试图用Java打开一个xterm终端,并在其中运行一个Java文件。这是打开终端的Java代码:

Process p2 = new ProcessBuilder("xterm", "-hold", "-e", "java", "/home/harry/main.class").start();

xterm打开正常,但它说它无法找到主要类home.harry.main.class。我使用斜杠,但它们被改为点。我做错了什么?

1 个答案:

答案 0 :(得分:1)

提及xterm具有误导性。问题(同意@elliott-frisch@user2533521)是如何在命令行上运行Java类。完整路径名和类文件名是两个必须分开的方面。

不完全重复,这些链接可以提供一些见解:

那是(指documentation):

  • " / home / harry"可以使用classpath -cp选项指定(请参阅 Setting the class path )。
  • " .class"后缀没用;只使用了类名称(可能是" main")。