Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在ant脚本中使用最近的Rhino_Ant_Rhino - Fatal编程技术网

在ant脚本中使用最近的Rhino

在ant脚本中使用最近的Rhino,ant,rhino,Ant,Rhino,我试图在ant标记中使用Rhino的最新版本,但它似乎使用了JVM附带的Rhino版本。我已尝试调整类路径以指定Rhino脚本jar。目前,我尝试了以下方法: <project default="hello" name="hello-world" basedir="."> <target name="hello"> <script language="javascript"> <classpath>

我试图在ant标记中使用Rhino的最新版本,但它似乎使用了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的Rhino中工作,而不是与JVM捆绑的Rhino

js.jar与ant脚本位于同一目录中。我还尝试将其重命名为rhino.jar,因为我认为我看到的文档表明这是必要的

当我运行它时,会出现以下错误:

javax.script.ScriptException:sun.org.mozilla.javascript.EvaluatorException:语法错误(#3)


因此,它看起来仍然在使用JVM附带的Rhino版本。如何使其使用新版本?

请参阅Ant用户邮件列表上的以下响应:

我已使用以下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>

echo=helloworld.createTask(“echo”);
对于(i=1;i
在./rhino lib中需要以下jar:

虽然不是最漂亮的,但它很管用。我将尝试更多,看看是否可以让它与javax.script一起使用