如何在Javascript任务中解决Apache ANT中的变量

时间:2017-10-10 14:56:08

标签: javascript ant

我通过此任务从Apache ANT调用javascript:

<property name="myprop" value="someval" />
<script language="javascript" src="mytask.js" />

在js里面我有变量foo

 var foo = '${myprop} - bar';

如何通过拥有ANT文件解析属性的变量foo

2 个答案:

答案 0 :(得分:0)

根据script任务文档中的示例,可以从提供的project引用中检索属性:

<property name="fs.dir" value="src"/>

<target name="main">
    <script language="javascript"> <![CDATA[

    // Access to Ant-Properties by their names
    dir = project.getProperty("fs.dir");

答案 1 :(得分:0)

有一个未记录的方法project.replaceProperties,它接受​​一个字符串并返回该字符串。即:

project.replaceProperties('foo - ${myprop}');

我通过运行以下代码找到了它,该代码列出了给定Java对象的所有方法:

function log(str)
{
    var echo = project.createTask("echo");
    echo.setMessage(str);
    echo.perform();
}

function getAllMethods(object) {
    return Java.from(object.class.getDeclaredMethods());
}

var all = getAllMethods(project);
for(var a = 0; a < all.length; a++)
    log(all[a]);