2014-11-22 1 views
1

Я использую куб компилятора для минимизации в оптимизации r.js в среде Windows.Получение недопустимой ошибки символа при использовании clos-compiler.jar с использованием ANT для оптимизации r.js

При выполнении этой задачи с помощью ANT EXEC, получение противоправный характер ошибку, но во время выполнения той же задачи с использованием .bat файл он работает нормально.

ANT Exec задача

<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:\workspace\test\ui\r-js\lib\closure\compiler.jar", line 2: illegal character 
[exec] js: ╝MOC     ♦ META-INF/■╩ PK♥♦ 
[exec] js:^
[exec] js: "C:\workspace\test\ui\r-js\lib\closure\compiler.jar", line 1: Compilation produced 1 syntax errors. 
[exec] 

BUILD FAILED 

optimize.bat Это не похоже

java -classpath "r-js\lib\rhino\js.jar";"r-js\lib\closure\compiler.jar" org.mozilla.javascript.tools.shell.Main r-js/dist/r.js -o build.js 

ответ

0

что скрипт 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, т.е. баночки не добавляют к классам правильно.

В 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> 
+0

Спасибо, сработало. – Virbhadrasinh

Смежные вопросы