2010-08-19 63 views
3

我試圖在螞蟻標籤中使用最近版本的犀牛,但它似乎是使用與JVM捆綁在一起的Rhino版本。我已經嘗試調整類路徑來指定Rhino腳本jar。目前,我已經試過如下:在螞蟻腳本中使用最近的犀牛

<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語法,這應該從Mozilla的工作,只有工作犀牛,而不是一個與JVM捆綁在一起。

js.jar與ant腳本位於同一目錄中。我也嘗試將它重命名爲rhino.jar,因爲我認爲我已經看到文檔提示這是必要的。

當我運行它,它提供了以下錯誤:

javax.script.ScriptException:sun.org.mozilla.javascript.EvaluatorException:語法錯誤(#3)

因此,它似乎就好像它仍在使用JVM附帶的Rhino版本。我怎樣才能使用新版本?

回答

6

我得到它的工作使用下面的螞蟻項目:

<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一起使用。