【问题标题】:Execute java prog without Runtime.exec()? Does any "JavaExecutor" exist?在没有 Runtime.exec() 的情况下执行 java 程序?是否存在任何“Java Executor”?
【发布时间】:2013-05-24 05:47:32
【问题描述】:

有没有什么方法可以在不使用 Runtime exec 的情况下从另一个 Java 程序中运行一个 Java 程序?

是否有某种 JavaExecutor 工具可以与 DiagnosticCollector 一起使用? (比如JavaCompiler)?

【问题讨论】:

  • 调用main()方法?
  • 使用Runtime.exec()有什么问题?子程序是否已经编译或者您只有源代码?你想在同一个 JVM 或子 JVM 中运行它吗?
  • 子程序已经编译。所以我不能调用 main()... runtime.exec 没有问题,但我必须分析任何最终的 exec 错误,所以使用某种诊断收集器的工具会很好。只要我可以访问标准错误,我不在乎它使用哪个 JVM。
  • 编译没关系。确保您的类路径中有 .class 文件(或 .jar 文件)(在程序的编译时和运行时),并且应该可以访问和调用 main 方法。
  • 我在编译时没有.class文件,它是在执行过程中编译的。

标签: java exec runtime.exec


【解决方案1】:

如果你想在运行时传入类名,请通过反射调用它。如果程序抛出异常,则捕获堆栈跟踪并将其用于进一步诊断。

【讨论】:

    【解决方案2】:

    是的,IBM 提供了一个诊断收集器,用于收集与 Java 虚拟机 (JVM) 问题相关的文档和诊断数据。在 JVM 启动时,它会运行诊断配置检查。

    【讨论】:

      猜你喜欢
      • 2012-11-13
      • 2014-10-26
      • 1970-01-01
      • 2022-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多