Java应用程序未使用right PATH环境变量

Java应用程序未使用right PATH环境变量,java,path,environment-variables,environment,processbuilder,Java,Path,Environment Variables,Environment,Processbuilder,我一直在努力寻找Java应用程序不使用默认PATH环境变量的原因。我需要它来启动另一个ProcessBuilder程序。现在我得到“无法运行程序”…“错误=2,没有这样的文件或目录”,尽管我可以从终端运行这个程序。我使用的是JDK1.8、NetBeans8.1和OSX 下面是System.out.println(System.getenv(“PATH”))的输出: /usr/bin:/bin:/usr/sbin:/sbin 终端中路径的实际值(使用echo$PATH)要长得多,并且包含到所需可执

我一直在努力寻找Java应用程序不使用默认PATH环境变量的原因。我需要它来启动另一个ProcessBuilder程序。现在我得到“
无法运行程序”…“错误=2,没有这样的文件或目录
”,尽管我可以从终端运行这个程序。我使用的是JDK1.8、NetBeans8.1和OSX

下面是
System.out.println(System.getenv(“PATH”))的输出
/usr/bin:/bin:/usr/sbin:/sbin

终端中路径的实际值(使用
echo$PATH
)要长得多,并且包含到所需可执行文件的路径

我发现一些问题涉及同一主题,但没有人能帮我解决这个问题


感谢您的帮助

路径由正在运行的任何shell创建,但ProcessBuilder不在shell中运行,因此没有可附加到的路径来解析程序名。您可以为ProcessBuilder提供一个环境,但不要相信它会让您找到路径中的程序。在我的一个项目中,我必须提供完全合格的路径。]


[注意:里程数可能会有所不同,我似乎记得Windows和*nix之间以及不同*xix之间的结果有些不同。]

如何运行您的程序?仍处于开发阶段,因此我正在使用Netbeans-run project。我应该在没有IDE的情况下启动它吗?是的。可能是Netbeans设置了PATH变量。该死!你说得对。它现在使用正确的路径变量-我的可执行文件已启动。非常感谢。你知道如何在Netbeans中设置环境变量吗?找不到有关此的详细信息!给你。