我刚刚切换到mac电脑上工作,我正在试图确定为什么我无法获得
Eclipse
要识别我试图通过
ProcessBuilder
.
我试着把它作为
Java Application
在里面
日食
作为一个
TestNG
测验
如果我用
java
并直接从命令行运行它,它可以工作,但不能通过Eclipse运行,这让我相信
$PATH
在我的中未正确设置
测试NG
配置
问题
我确信这是Eclipse中的一个配置问题,但在搜索了一天之后,我想发布一些帮助。我试着
$路径
但它似乎不起作用。
非常感谢。
更新/回答
事实证明
PATH
我在下面显示的壳上设置的与
Java
我用下面的代码检查了它。在验证之后,我在ProcessBuilder上为我的环境添加了正确的路径,并执行了脚本,如回答中所示。
Map<String, String> env = processBuilder.environment();
for (String key : env.keySet())
System.out.println(key + ": " + env.get(key));
Map<String, String> envs = processBuilder.environment();
System.out.println("Path " + envs.get("PATH"));
envs.put("PATH", "/usr/local/bin");
System.out.println("PATH " + envs.get("PATH"));
密码
File logsDir = new File(logDirectory);
if (!logsDir.exists()) {
logsDir.mkdirs();
}
// run process directly
ProcessBuilder processBuilder = new ProcessBuilder();
processBuilder.command("appium");
processBuilder.redirectError(new File(logsDir, "appiumError.txt"));
processBuilder.redirectOutput(new File(logsDir, "appiumOutput.txt"));
process = processBuilder.start();
输出
(找不到
node
要运行appium
No such file or directory
)
Caused by: java.io.IOException: Cannot run program "appium": error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at AppiumService.startAppium(AppiumService.java:77)
路径
(用于
节点
和
appium
位于/usr/local/bin)
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:
/usr/local/opt/ant/bin:/usr/local/opt/maven/bin:
/usr/local/opt/gradle/bin