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
以使用完整的文件路径不是一个可接受的解决方案,因为这是跨多台计算机和平台运行。
据我所知,一切都设置正确。
为什么我kotlinc
从ProcessBuilder
运行kotlinc
?
kotlinc
实际上是一个批处理文件( kotlinc.bat
),而不是一个二进制文件。 因此,您需要通过执行命令cmd /c kotlinc
来启动它。