используя недавний Rhino в сценарии муравья - PullRequest
3 голосов
/ 20 августа 2010

Я пытаюсь использовать последнюю версию Rhino в теге ant, но, похоже, она использует версию Rhino, которая поставляется в комплекте с JVM.Я попытался настроить путь к классу, чтобы указать Jar скрипта Rhino.В настоящее время я пробовал следующее:

<project default="hello" name="hello-world" basedir=".">

    <target name="hello">

        <script language="javascript">

        <classpath>

            <pathelement location="js.jar"/>

        </classpath><![CDATA[

            x=<hello><world/></hello>

        ]]></script>    
    </target>

</project>

Обратите внимание на включение в скрипт синтаксиса E4X, который должен работать только в Rhino из Mozilla, а не в комплекте с JVM.

js.jar находится в том же каталоге, что и скрипт ant.Я также попытался переименовать его в rhino.jar, так как мне кажется, что я видел документацию, в которой говорилось, что это необходимо.

Когда я запускаю его, выдается следующая ошибка:

javax.script.ScriptException: sun.org.mozilla.javascript.EvaluatorException: синтаксическая ошибка (# 3)

Таким образом, похоже, что он все еще использует версию Rhino, поставляемую с JVM.Как я могу заставить его использовать новую версию?

Ответы [ 2 ]

6 голосов
/ 22 августа 2010

У меня это работает, используя следующий проект Ant:

<project default="hello" name="helloworld" basedir=".">
   <target name="hello">
       <script language="javascript" manager="bsf">
       <classpath>
           <fileset dir="rhino-lib" includes="*.jar"></fileset>
       </classpath><![CDATA[
           x=<hello><world/></hello>
        echo = helloworld.createTask("echo");
        for (i=1; i<=10; i++) {

          echo.setMessage(i*i);
          echo.perform();
        }
        echo.setMessage(x);
        echo.perform();

       ]]></script>     
   </target>
</project>

Вам нужны следующие банки в ./rhino-lib:

Не самая красивая, но работает.Я попробую немного больше, чтобы посмотреть, смогу ли я заставить его работать с javax.script.

0 голосов
/ 21 августа 2010

Смотрите следующий ответ в списке рассылки пользователя Ant: http://mail -archives.apache.org / mod_mbox / ant-user / 201008.mbox / browser

...