Runtime.exec()方法总是在春季环境中返回空



我尝试在春季应用程序中执行Runtime.exec(…)方法,然后始终从getInputStream()方法中取空结果。但是,如果我作为核心Java应用程序执行执行,则运行良好。在春季环境中是否需要执行任何其他实现?提前致谢。

  • 春季版:4.2.1.Release

  • Commons-io版本:2.4

    try {
        Process p = Runtime.getRuntime().exec(new String[] {"sh", "-c", "spamc < abcd.txt"});
        String spamResponsexx = IOUtils.toString(p.getInputStream());
        log.debug("Spam Response : " + spamResponsexx);
    } catch (Exception e) {
        e.printStackTrace();
        log.error("", e);
    }
    

也许用户特权问题。我也从事类似类型的方案工作。

  1. 在这种情况下,这两种服务都应作为同一用户(xyz)
  2. 运行
  3. 否则" SPAMC"库文件位置应指向您的用户(XYZ)HOME PATH'.bashrc'和RESET'.bashrc'.bashrc'

最新更新