我正在运行使用google的闭包编译器(https://github.com/google/closure-compiler)ant任务(从此处下载的应用程序https://developers.google.com/closure/compiler/)的ant脚本,编译器正确修改文件minified 但是在脚本完成后,闭包编译器无法释放锁。我认为这是一个错误并在github repo上发布了问题,因为在文件集上运行其他命令不会导致任何问题,直到我添加closure-compiler命令但是我不确定了,我是蚂蚁构建文件的新手,并且想知道是否有人可以帮助我。有工作吗?
注意: 剩余的文件锁导致问题,因为我无法删除另一个脚本中的文件。 文件锁只在我关闭eclipse时才会释放。 难道我做错了什么?因为脚本完成后没有释放文件锁。 这是eclipse的问题吗?我一直在拔我的头发试图解决这个问题。 我在windows和eclipse neon中运行它。
下面是我的ant buildscript来重现这个问题:
<property name="root-folder" value="C:/workspaceprojects" />
<property name="lib-folder" value="${root-folder}/resource/lib"/>
<taskdef resource="net/sf/antcontrib/antcontrib.properties" classpath="${lib-folder}/ant/ant-contrib-1.0b3.jar"/>
<taskdef name="xmltask" classname="com.oopsconsultancy.xmltask.ant.XmlTask" classpath="${lib-folder}/ant/xmltask.jar"/>
<taskdef name="closure-compiler" classname="com.google.javascript.jscomp.ant.CompileTask"
classpath="${lib-folder}/closure-compiler/closure-compiler.jar"/>
<!--main loop-->
<target name="main">
<foreach target="minify-js" param="filepath">
<path>
<fileset dir="C:\Users\phoang\Documents/supports-color" casesensitive="yes">
<include name="**/*.js"/>
</fileset>
</path>
</foreach>
</target>
<!-- Google Closure Compiler -->
<target name="minify-js">
<sequential>
<echo message="Compressing file ${filepath}" />
<propertyregex property="jsfilename" override="true" input="${filepath}" regexp=".*\\(.*\.js)" select="\1" />
<propertyregex property="jsdirpath" override="true" input="${filepath}" regexp="(.*)\\.*\.js" select="\1" />
<echo message="${jsfilename}"/>
<echo message="${jsdirpath}"/>
<closure-compiler compilationLevel="simple" debug="false" output="${filepath}" forceRecompile="true">
<sources dir="${jsdirpath}">
<file name="${jsfilename}"/>
</sources>
</closure-compiler>
</sequential>
</target>
感谢您花时间阅读本文。