java - 从 Java 运行 C++ 可执行文件时没有错误或输出

标签 java c++ executable

我正在尝试从我的 Java Web 应用程序运行 C++ 可执行文件。当我转到相关页面时,它会执行命令并运行可执行文件,但不会产生任何输出。

这是我的代码:

URL createWav = QRcodeController.class.getClassLoader().getResource("createWav");
log.info("The path of the c++ executable obtained: "+ createWav.getPath());
Process p1 = Runtime.getRuntime().exec("chmod 777 " + createWav.getPath());
p1.waitFor();
int exitVal=1;
try {
        Process p2 = Runtime.getRuntime().exec(createWav.getPath(), args);
        exitVal = p2.waitFor();
}
catch (Exception e)
{
    log.error(e.getStackTrace());
}
if(exitVal == 1)
    throw new Exception("Error in c++ program");

它不会抛出任何错误,因此 c++ 程序运行良好,但不会生成它应该生成的文件。当我在同一台机器上从命令行运行相同的命令时,它可以完美地生成所需的文件。我不确定我做错了什么。

最佳答案

process中获取输出流和错误流看看会发生什么。

现在你在盲目地工作。

关于java - 从 Java 运行 C++ 可执行文件时没有错误或输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11242820/

相关文章:

java - 检索 JTable 内 JCheckbox 的状态

python - 使用 cx_Freeze 从导入 Pandas 的 Python3.6 脚本构建可执行文件时出错

c - 可执行文件的大小?

java - Java 6 SE 是否可用于 Windows Server 2008 R2?

java - Elasticsearch Rest Client - 调用 performRequestAsync 时出现 ConnectionClosedException

Java 内部类和继承 : Is there a duplicate outer this reference?

c++ - 编译独立的静态可执行文件

c++ - 无法使用 mysql_real_connect() 连接到 mysql 服务器

c++ - 为什么模板只能在头文件中实现?

c++ - 从成员变量指针返回 bool