Apache Ant 与 Graal VM

Ost*_*der 3 nashorn graalvm java-11

我们将 Apache Ant 与 Nashorn JavaScript Engine 结合使用,该引擎在 jdk 15 及更高版本中已被弃用并删除。我试图找到如何从 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>
Run Code Online (Sandbox Code Playgroud)

结果看起来像:

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
Run Code Online (Sandbox Code Playgroud)

swy*_*rik 5

解决方案1

如果您使用的是 JDK 15 或更高版本。请将以下 jar 添加到路径中。

在此输入图像描述

解决方案2

使用 Graal VM Jas

使用上面的 jar 并将它们作为类路径引用传递。

在此输入图像描述