我正在尝试运行亚马逊提供的 python AWS 示例,以使用“System.exec()”在 Java 程序中转录音频文件。我已将程序的各个部分替换为使用传入的参数。此代码在 Mac 上按预期工作,但在 Windows 中(在 Tomcat 服务下),完全相同的 System.exec() 始终返回 null。
基本的 Python 代码在这里:https ://docs.aws.amazon.com/code-samples/latest/catalog/python-transcribe-getting_started.py.html
我认为这可能是一个身份验证问题,但我已经在预期位置、环境变量甚至 System.setProperty() 语句中尝试了配置文件的身份验证。仍然始终为空。
这是Java代码:
process = Runtime.getRuntime().exec(cmdArray);
reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
命令数组有:
- Python
- python'py'文件的路径
- 参数
代码在后续行(null)崩溃:
reader.readLine()
我将 Tomcat 服务设置为使用 8MB RAM,并将 Tomcat 重新安装到最新的 9 版本。
如果我在命令行中获取各个参数并执行它们,那一切都很好。
将不胜感激任何建议。
提前致谢。