javascript - Ant 脚本 - 使用 Javascript Date.parse

标签 javascript debugging ant rhino date-parsing

我正在尝试使用 Get timestamp difference using ANT 中定义的脚本进行实验所以问题。

当我使用示例中给出的 Date.parse 时,我在 Javascript 行(即这一行)上收到 NullPointerException

<script language="javascript" >

它似乎与 Date.parse 调用有某种关系,但我似乎无法弄清楚。

  <script language="javascript" >
  <![CDATA[
     println("calc js");
     project.setProperty("task.diff",
     Math.abs(
     (Date.parse(project.getProperty("task.stop")) +
     +project.getProperty("task.stop.millis")) -
     (Date.parse(project.getProperty("task.start")) +
     +project.getProperty("task.start.millis"))))
     ]]> 

当我在另一个脚本中使用相同的概念并对原始脚本进行一些更改时,我收到了不同的错误 -

javax.script.ScriptException: sun.org.mozilla.javascript.internal.EvaluatorException: 第 7 行参数列表 (#7) 后缺少 )

在这里,我将 startTime 和 endTime 作为属性发送到宏定义并在其中定义脚本。

            project.setProperty("task.diff", 
                           Math.abs(
                             Date.parse(@{startTime}) - 
                             Date.parse(@{endtime})
                                    )
                               );

我该如何调试这个问题?

最佳答案

sun.org.mozilla 指的是 Rhino JavaScript 引擎。 Rhino 不支持 Date.parse(),除非您有最新版本:

New in Rhino 1.7R3

使用Rhino控制台检查版本:

java -jar $RHINOPATH/js.jar #Rhino, `$RHINOPATH` is environment specific 
jrunscript -q #Rhino via Mustang

引用文献

关于javascript - Ant 脚本 - 使用 Javascript Date.parse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17415186/

相关文章:

javascript - 如何使用 javascript 验证两个文本区域

javascript - 在 JavaScript 中使用动态(可变)字符串作为正则表达式模式

c# - VS2017调试: Unable to access members of COM object

ant - 从 Ant : passing a space-separated list of files to java 调用 FindBugs

ant - 使用 Ant 编译基于单个文件及其依赖项的项目

java - 从 Jar 或批处理文件执行 Java 运行应用程序

用于检查用户是否在文本字段中输入空格的 Javascript

javascript - 将动态输入索引到其他动态输入数组

c++ - 如何找到似乎只出现在发布版本中的罕见错误?

javascript - Dreamweaver JavaScript 调试器