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

问题描述 投票:0回答:1

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作为替代品,但似乎每个缺陷都有相当长的缺点。有关当前活动且稳定的库的建议。

谢谢,斯科特

javascript java build ant nashorn
1个回答
0
投票

GraalVM当前处于活动状态,稳定,具有Nashorn compatibility mode。您可以使用GraalVM运行您的ant脚本,并且默认情况下包含JS引擎。或者,您可以将GraalVM的JavaScript作为一些依赖项包括在内,并在OpenJDK上运行,这会比较慢,并且可能是OpenJDK和GraalVM的JavaScript的未经测试的组合,但是can also work

© www.soinside.com 2019 - 2024. All rights reserved.