使用闭包编译器时出现非法字符错误.jar使用 ANT 进行 r.js 优化



我正在使用闭包编译器jar在Windows环境中的r.js优化中进行缩小。

使用 ANT 可执行文件运行此任务时,出现非法字符错误,但在使用.bat文件运行相同的任务时,它工作正常。

蚂蚁执行任务

<target name="do-optimization" description="It will do optimization using r.js.">
    <exec dir="." executable="java" failonerror="true">
        <arg value="-jar" />
        <arg path="${src.dir}/r-js/lib/rhino/js.jar" />
        <arg path="${src.dir}/r-js/lib/closure/compiler.jar" />
        <arg path="${src.dir}/r-js/dist/r.js" />
        <arg value="-o"/>
        <arg path="${src.dir}/r-js/build.js" />
    </exec>
</target>

控制台输出

do-optimization:
 [exec] js: "C:workspacetestuir-jslibclosurecompiler.jar", line 2: illegal character
 [exec] js:   ╝MOC                   ♦ META-INF/■╩  PK♥♦
 [exec] js: ^
 [exec] js: "C:workspacetestuir-jslibclosurecompiler.jar", line 1: Compilation produced 1 syntax errors.
 [exec]
 BUILD FAILED

优化.bat

java -classpath "r-jslibrhinojs.jar";"r-jslibclosurecompiler.jar" org.mozilla.javascript.tools.shell.Main r-js/dist/r.js -o build.js

Ant 脚本调用java的方式似乎与批处理文件不同。exec任务正在调用以下命令:

java -jar ${src.dir}/r-js/lib/rhino/js.jar ${src.dir}/r-js/lib/closure/compiler.jar ${src.dir}/r-js/dist/r.js -o ${src.dir}/r-js/build.js

这与.bat文件中的明显不同,即 jar 没有正确添加到类路径中。

在 Ant 中,您只需使用 java 任务即可运行 Java 类。 尝试使用以下方法:

<java classname="org.mozilla.javascript.tools.shell.Main" failonerror="true">
    <arg path="${src.dir}/r-js/dist/r.js" />
    <arg value="-o"/>
    <arg path="${src.dir}/r-js/build.js" />
    <classpath>
        <pathelement location="${src.dir}/r-js/lib/rhino/js.jar" />
        <pathelement location="${src.dir}/r-js/lib/closure/compiler.jar" />
    </classpath>
</java>

相关内容

  • 没有找到相关文章

最新更新