我试图跟踪这个堆栈溢出链接:
起初,我开始寻找一种方法来做比蚂蚁更伟大的事情,但我发现几乎没有什么方法会给我带来麻烦。
但是我得到了以下错误消息:无法加载脚本引擎管理器(org.apache.bsf.BSFManager或javax.script.ScriptEngineManager)
我试图添加一个bsf罐子,但没有成功。你能给我举个例子吗?
<bool>元素使用antcont肋骨附加属性,这些属性在以下链接中得到了建议:conditions.html但我没能做到。你能给我举个例子吗?
发布于 2012-11-14 21:38:56
下面的ANT演示不需要安装其他库就可以为我工作:
<project name="hello" default="demo">
<target name="demo">
<script language="javascript">
var version = parseInt(project.getProperty('version'));
project.setProperty('isGreater', version > 1);
</script>
<echo message="${isGreater}"/>
</target>
</project>您使用的是什么版本的ANT和Java?就我而言:
$ ant -version
Apache Ant(TM) version 1.8.2 compiled on December 3 2011
$ java -version
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.5) (6b24-1.11.5-0ubuntu1~12.04.1)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)发布于 2012-11-14 22:08:37
看第一条错误消息:
Unable to load a script engine manager (org.apache.bsf.BSFManager or javax.script.ScriptEngineManager)这告诉你你丢失了一个Jar文件。查看</code></a>任务:</div><blockquote><div>注意:此任务取决于Apache发行版中未包含的外部库。有关详细信息,请参阅<a href="http://ant.apache.org/manual/install.html#librarydependencies">图书馆属地</a>。</div></blockquote><div>“库依赖关系”链接将带您到一个表。搜索单词脚本任务。脚本任务需要多达10个可选的jars才能工作。你需要的是<a href="http://jakarta.apache.org/bsf/">bsf.jar</a>。</div><div>要使用Antcont肋骨任务,您需要,并链接到带有<code><taskdef></code>任务的任务。以下是如何做到这一点:</div><ul><li><div>下载最新版本的<a href="http://sourceforge.net/projects/ant-contrib/files/ant-contrib/1.0b3/ant-contrib-1.0b3-bin.tar.gz/download">ant-contrib.jar</a>。</div></li><li><div>在项目中创建一个名为<code>antlib/ant-contrib</code>的目录,并将ant-contrib.jar放在该目录中。</div></li></ul><div>在您的<code>build.xml</code>中,您希望在顶部附近执行以下操作。这可以在任何任务之外完成:</div><pre><code><taskdef resource="net/sf/antcontrib/antlib.xml"> <classpath> <fileset dir="${basedir}/antlib/ant-contrib"/> </classpath> </taskdef></code></pre><div>现在,您应该能够使用<a href="http://ant-contrib.sourceforge.net/tasks/tasks/index.html">蚂蚁任务</a>,包括<a href="http://ant-contrib.sourceforge.net/tasks/tasks/more_conditions.html"><code><bool></code></a>条件。</div><div></div>
发布于 2016-07-05 10:35:57
用这个:
<scriptdef name="val1_mayorque_val2" language="javascript">
<attribute name="val1" />
<attribute name="val2" />
<attribute name="resultado" />
<![CDATA[
if(attributes.get("val1") > attributes.get("val2"))
project.setProperty(attributes.get("resultado"), "si");
else
project.setProperty(attributes.get("resultado"), "no");
]]>
</scriptdef>用这个来称呼它:
<val1_mayorigualque_val2 val1="5" val2="3" resultado="result"/>val1 =值1 val2 =值2
使用后,您必须测试${result}。Id有"si“值,则val1大于val2。
https://stackoverflow.com/questions/13367578
复制相似问题