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