当我跑步时:
new ProcessBuilder("kotlinc", "-help").start();
我收到错误:无法运行程序“kotlinc”:CreateProcess错误= 2,系统找不到指定的文件
我试过了:
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
更改为使用完整文件路径是 Not Acceptable 解决方案,因为它正在多台计算机和平台上运行。据我所知,一切都已正确设置。
为什么我不能从
kotlinc
运行ProcessBuilder
? 最佳答案
kotlinc
实际上是一个批处理文件(kotlinc.bat
),而不是二进制文件。因此,您需要通过执行命令cmd /c kotlinc
来启动它。
关于java - ProcessBuilder无法在路径中找到Kotlin,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39239864/