How to run NPM Command in Java using Process Builder

梦想的初衷 提交于 2019-12-04 15:13:02

The problem is that ProcessBuilder does not respect the PATHEXT variable on Windows.

It's true there is no npm binary on Windows, there's a npm.cmd. My best solution is to check the platform. Something like this:

static boolean isWindows() {
    return System.getProperty("os.name").toLowerCase().contains("win");
}

static String npm = isWindows() ? "npm.cmd" : "npm";

static void run() {
    Process process = new ProcessBuilder(npm, "update")
            .directory(navigatePath)
            .start()
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!