zoukankan      html  css  js  c++  java
  • jdk1.8中nashorn不支持ECMAScript6的问题

    背景

    在项目中需要使用java调用javascript脚本,有两种方案,一种是faas,使用开源的openwhisk。另一种本地运行的方式,使用jdk的nashorn调用javascript,jdk版本为1.8。

    但是在编写js脚本的时候使用了ECMAScript6中的新特性const和let。在执行的过程中报错了。

    解决方法

    原来jdk1.8中的nashorn默认支持的是ECMAScript5.1,而对于ECMAScript6相关特性的支持还不是很完善。但是可以通过jvm参数来开启jdk1.8对部分ECMAScript6新特性的支持。参数格式如下:

    -Dnashorn.args=--language=es6
    

    看了jdk的文档,从jdk9开始nashorn较好的支持了ECMAScript6。

    如果有频繁的java调用javascript,并且javascript的脚本较复杂,建议还是上faas吧。更可控,而且更安全。性能也没有问题。

  • 相关阅读:
    flyway
    xxl-job
    响应式布局
    position: fixed
    position: absolute
    position: relative
    GDB高级一点的命令
    坑爹的大页内存
    input8按键对照
    discuz插件应用原理分析
  • 原文地址:https://www.cnblogs.com/junjiang3/p/10814763.html
Copyright © 2011-2022 走看看