在ant脚本中使用最近的Rhino
我试图在ant标记中使用Rhino的最新版本,但它似乎使用了JVM附带的Rhino版本。我已尝试调整类路径以指定Rhino脚本jar。目前,我尝试了以下方法:在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>
<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: