gpt4 book ai didi

java - 使用 java Runtime() 或 Process Builder 执行或运行应用程序

转载 作者:行者123 更新时间:2023-11-30 11:01:25 25 4
gpt4 key购买 nike

我正在尝试从 java servlet 执行应用程序。当我在 eclipse 集成的 tomcat 上运行它时,它工作正常。当我试图通过将 .war 文件部署到 webapps 来在 os 集成 tomcat 服务器上执行相同操作时,它不起作用。它也没有遇到任何错误。即使我检查了日志,也没有错误,只有通常的 tomcat 访问日志。有没有其他方法可以执行 firefox、chrome、gedit 等应用程序

注意:基本的 bash 命令,如 ls、chmod、mkdir 正在运行。但是在调用 gedit、firefox 之类的应用程序时,它无法正常工作。

使用的语句:* Runtime.getRuntime().exec(命令) 甚至 firefox 也会被 /bin/bash -c 调用。没有结果。* ProcessBuilder

还有其他选择吗??

最佳答案

ProcessBuilder 接受多个参数,您应该拆分命令参数。因此,例如,如果您要执行 ls -sl,则必须调用

 new ProcessBuilder("ls", "-sl");

另一个例子:

 new ProcessBuilder("pg_dump", "database", '-u', 'username', '--clean');

否则 ProcessBuilder 可能无法识别该命令。也不要忘记使用

processBuilder.redirectErrorStream(true);   // equivalent of 2>&1

这会将 stderr 重定向到 stdout。

关于java - 使用 java Runtime() 或 Process Builder 执行或运行应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31201250/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com