ProcessBuilder无法找到路径中的Kotlin

当我运行:

new ProcessBuilder("kotlinc", "-help").start(); 

我得到的错误: 无法运行程序“kotlinc”:CreateProcess错误= 2,系统找不到指定的文件

我试过了:

  • 如果我从Windows检查我的路径,它包含C:\Apps\kotlinc\bin ,当我在该位置打开资源管理器时,有一个名为kotlinc的文件。

  • 如果我打开cmd.exe任何地方,并运行kotlinc ,它工作得很好。

  • 如果我打印出我的环境:

    System.out.print(new ProcessBuilder("kotlinc", "-help").environment().get("Path"));

    它包含C:\Apps\kotlinc\bin

  • 如果我运行new ProcessBuilder("python3", "file.py").start() ,它工作得很好。

  • 重新启动我的机器

更改kotlinc以使用完整的文件路径不是一个可接受的解决方案,因为这是跨多台计算机和平台运行。

据我所知,一切都设置正确。

为什么我kotlincProcessBuilder运行kotlinc

kotlinc实际上是一个批处理文件( kotlinc.bat ),而不是一个二进制文件。 因此,您需要通过执行命令cmd /c kotlinc来启动它。

Interesting Posts