1

假设我有 2 个单独的 java 应用程序 javaapp1 和 javaapp2。
从 javaapp1,我正在执行一个 .bat 文件(负责启动 javaapp2)。

javaaap1 和 javaapp2 相互独立。

假设我用 process.exec 或 processbuilder 来做。

现在我的问题是:

  1. 如果exitCode不是0,在这种情况下是什么意思。这是否意味着执行批处理文件或javaapp2的代码出现问题?或两者?

  2. 是否可以从 javaapp1 中的 javaapp2 捕获错误?如果是:如何?因为我没有直接调用 javaapp2 的类。

  3. javaapp2 错误和输出是否由 javaapp1 处理?

4

1 回答 1

2
  1. 退出代码将是其他 Java 应用程序在System#exit()调用时返回的任何内容。如果您通过bat文件执行它,则需要确保它正确地将其传递回来。

  2. 您可以让它写入stdoutstderr,然后它将分别由Process#getInputStream()和可用Process#getErrorStream()

  3. 如果它包含正确处理 1) 和 2) 中提到的结果的代码,那么是的。

相关文章:

于 2010-08-12T20:15:03.827 回答