当我跑步时:

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更改为使用完整文件路径是 Not Acceptable 解决方案,因为它正在多台计算机和平台上运行。

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

    为什么我不能从kotlinc运行ProcessBuilder

    最佳答案

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

    关于java - ProcessBuilder无法在路径中找到Kotlin,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39239864/

    10-09 06:27