Closure编译器命令行似乎不适用于最新版本

时间:2016-03-24 19:27:45

标签: javascript groovy google-closure-compiler

我们的源代码使用闭包编译器来缩小javascript。最近我的任务是将其升级到最新版本。当我这样做时,javascript组件将不再正确编译。我们之前使用的版本是v20131014。我尝试了最新的(从2016年2月起)以及之前的3或4个版本,但都遇到了同样的问题。

我们使用编译器的方式来自命令行,在Groovy文件中执行大量JavaScript转换:

   ...
     def command = "java -jar $compiler --js $orderedDependencies --js_output_file $minFilename --create_source_map $mapFilename --compilation_level WHITESPACE_ONLY --source_map_format=V3 "
     command.execute(null as List, outputDir).waitFor()
   ....

当我运行此脚本时,它会挂起执行。当我在命令行上运行命令(实际值替换上面看到的变量)时,它可以正常工作,没有任何问题。构建中没有任何日志消息表明错误;和版本v20131014没有问题。

2013年和2016年之间可能会出现哪些可能导致此问题的想法?

1 个答案:

答案 0 :(得分:1)

它可能会写入更多输出,因此阻止其中一个标准输入管道

你应该对输出做些什么。

这会将其打印到控制台

command.execute(null as List, outputDir)
       .waitForProcessOutput(System.out, System.err)