从任何地方使用Java Runtime执行cl命令

时间:2020-08-04 04:45:33

标签: java c++ process runtime execution

我正在尝试使用Java运行时调用/执行C ++编译器命令。

Runtime runtime = Runtime.getRuntime();
String[] command = { "cl", "/P", "/EP", "/C", "-D", "LOC" + loc_file, file};
Process process = runtime.exec(command);
process.waitFor();

但是我总是收到以下错误消息:

"Cannot run program "cl.exe" CreateProcess error=2, The system cannot find the file specified."

因此,显然找不到cl程序。但是,我真的不知道如何配置Java运行时才能找到cl程序。有没有一种方法可以设置某种PATH变量来查找cl程序?

如果要在cmd中调用cl程序,首先必须运行vcvars32.bat中的C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build。然后,我可以根据需要使用cl程序。但是,我不知道如何通过Java代码完成此任务。

1 个答案:

答案 0 :(得分:0)

根据您的情况,我认为您可以通过以下两种方法解决问题:

1更改系统上的PATH并在此更新的环境中启动程序

这是您已经根据问题下的评论判断的结果。

您可以通过调整环境变量,然后在更新的环境中重新启动Java程序,来将要启动的程序手动添加到系统的“ PATH”中。

2在Eclipse中,仅为您的程序修改PATH环境变量

由于您提到您正在使用Eclipse,因此可以在操作系统配置中修改PATH。

在Eclipse的Run Configurations中,有一个Environment标签,您可以在其中为特定程序定义新的环境变量或修改现有的环境变量。您可以使用以下类似的方法对PATH进行修改:

enter image description here