替换 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 .
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 .