替换 javascript nashorn:mozilla_compat.js 在 ant 脚本中的使用

Replacing javascript nashorn:mozilla_compat.js use in ant script

Oracle 已贬低 nashorn,我在我的 apache ant 构建脚本中使用它。

这是一个简短的例子;

try{load("nashorn:mozilla_compat.js");}catch(e){;}
    importClass(java.io.File);
    var sourceName = project.getProperty("build.source.dir") + "/" +project.getProperty("teiFile") + ".xml";
    var targetName = project.getProperty("build.search.dir") + "/" + project.getProperty("teiFile") + ".xml";
    var sourceFile = new File("", sourceName);
    var targetFile = new File("", targetName);
    var uptodate = targetFile.exists() && sourceFile.lastModified() < targetFile.lastModified();
      var sourcePrefix = project.getProperty("teiFile");
      if(!uptodate & !sourcePrefix.startsWith("G")) {
         ......
       }
}

我听说过有人提到 Rhino 或 graalVM 作为替代品,但每个库似乎都有相当长的列表 deficiencies.Suggestions 当前活跃且稳定的库。

谢谢,斯科特

GraalVM 目前活跃、稳定,有 Nashorn compatibility mode。 您可以 运行 使用 GraalVM 编写您的 ant 脚本,并且默认包含 JS 引擎。或者您可以将 GraalVM 的 JavaScript 作为一些依赖项和 OpenJDK 上的 运行 包括在内,这会更慢,并且可能是 OpenJDK 和 GraalVM 的 JavaScript 的未经测试的组合,但是 can also work .