我会提前道歉,我是groovy的新手。我遇到的问题是我有 3 个执行不同功能的 groovy 脚本,我需要从我的主 groovy 脚本中调用它们,使用脚本 1 的输出作为脚本 2 的输入,使用脚本 2 的输出作为脚本 3 的输入。
我试过以下代码:
script = new GroovyShell(binding)
script.run(new File("script1.groovy"), "--p", "$var" ) | script.run(new File("script2.groovy"), "<", "$var" )
当我运行上面的代码时,第一个脚本运行成功,但第二个脚本根本没有运行。
脚本 1 使用代码将 int 作为参数"--p", "$var"
。这在主脚本中成功运行,使用:script.run(new File("script1.groovy"), "--p", "$var" )
- 脚本 1 的输出是一个 xml 文件。
当我script.run(new File("script2.groovy"), "<", "$var" )
在主 groovy 脚本中自行运行时,没有任何反应并且系统挂起。
我可以使用从命令行运行脚本 2 groovy script2.groovy < input_file
,它工作正常。
任何帮助将不胜感激。