我们将Apache Ant与Nashorn JavaScript引擎一起使用,该引擎在JDK15及更高版本中已被弃用和删除。我试图找到如何从Nashorn切换到Graal VM,但即使在Apache网站上也找不到任何有用的信息。请告诉我需要哪些罐子,我应该把它们放在哪里。我们已有的代码中需要更改的内容。如果有人已经这样做了,请分享你的经验。我有一个示例,它在jdk1.8.0_311上运行:
<?xml version="1.0" ?>
<project name="test" default="test">
<property environment="env"/>
<target name="test" >
<script language="javascript">
<![CDATA[
load("nashorn:mozilla_compat.js");
importPackage(java.time);
var today = new Date();
var date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();
self.log("This script is for Test Of Nashorn Javascript Engine");
print ("Today is: " + date );
]]>
</script>
</target>
</project>结果看起来像这样:
test:
[script] Warning: Nashorn engine is planned to be removed from a future JDK release
[script] This script is for Test Of Nashorn Javascript Engine
[script] Today is: 2021-11-3
BUILD SUCCESSFUL
Total time: 0 seconds发布于 2021-11-04 10:24:06
您还可以将standalone Nashorn作为依赖项添加到Ant构建中;将其放在Ant lib目录中应该可以。默认情况下,这是$ANT_HOME/lib,但一些Ant安装使用不同的位置,例如,自制安装的Ant将使用/usr/local/share/ant。如果您不想将其放入库中,也可以将其与项目放在一起,并在<script>标记中使用<classpath>或<classpathref>来指向它。
请注意,独立的Nashorn在类路径上也需要ASM 7.3.1。两者的JAR都可以从Maven Central下载。
https://stackoverflow.com/questions/69832933
复制相似问题