我尝试在春季应用程序中执行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); }
也许用户特权问题。我也从事类似类型的方案工作。
- 在这种情况下,这两种服务都应作为同一用户(xyz) 运行
- 否则" SPAMC"库文件位置应指向您的用户(XYZ)HOME PATH'.bashrc'和RESET'.bashrc'.bashrc'