1

Get timestamp difference using ANT SO questionで定義されているスクリプトを試してみます。

例に示されているように 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})
                                    )
                               );

この問題をデバッグするにはどうすればよいですか?

4

1 に答える 1

0

sun.org.mozillaRhino JavaScript エンジンを指します。Date.parse()最新バージョンでない限り、Rhino ではサポートされていません。

Rhino 1.7R3 の新機能

Rhino コンソールを使用してバージョンを確認します。

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

参考文献

于 2014-02-13T18:45:50.967 に答える