【问题标题】:Change the working drive java processbuilder更改工作驱动器 java processbuilder
【发布时间】:2014-02-13 20:15:59
【问题描述】:

我的设置如下: C:包含操作系统和最终版本的程序 Z:包含我正在处理的代码

  • 我使用的是安装在 C:\Program Files (x86) 上的 Netbeans
  • 我的项目文件夹在 Z:
  • 我正在尝试调试需要运行进程目录的文件为“C:\TaxiPIM”的进程的项目

我试过了:

ProcessBuilder pb = new ProcessBuilder("java", "-jar", "Pim_Update_Client.jar");
pb.directory(new File("/TaxiPIM"));

和:

ProcessBuilder pb = new ProcessBuilder("java", "-jar", "Pim_Update_Client.jar");
pb.directory(new File("c:/TaxiPIM"));

最后用 google-e-eyed 搜索结果解释了如何更改目录...

但我需要更改驱动器和目录。

感谢阅读 - 非常感谢您的反馈!

【问题讨论】:

    标签: java processbuilder drive working-directory


    【解决方案1】:

    编辑:ProcessBuilders directory(File) 方法返回一个新的 ProcessBuilder 所以试试pb=pb.directory(new File("...)

    粗略的方法是将命令导出到与您的项目相同的目录中的批处理文件中,并将更改驱动器代码也放入批处理文件中,然后从您的代码中运行批处理文件。

    从 C 上的目录更改为 D 上的目录的示例; (我有我的 NetBeans 安装和 C 驱动器上的项目目录)

    ProcessBuilder pb = new ProcessBuilder("cmd.exe","/c","start","cmd");
    pb=pb.directory(new File("D:\\src"));
    pb.start();
    

    【讨论】:

    • 我放在第一行的命令是我用来调试的(只有命令行打开,所以错误的路径不会造成任何损害)
    【解决方案2】:

    然后在得到新的 ProcessBuilder 之后,输入你的命令:

    ProcessBuilder pb = new ProcessBuilder("cmd.exe","/c","start","cmd");
    pb = pb.directory(new File("c:/TaxiPIM/"));
    pb.command("java", "-jar", "Pim_Update_Client.jar");
    

    再次感谢@masterX244

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-06
      • 1970-01-01
      相关资源
      最近更新 更多