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吧。更可控,而且更安全。性能也没有问题。

  • 相关阅读:
    ReactiveX-简介
    docker简记
    ethereum-在Ubuntu上搭建私有链
    netflix-ribbon简介
    netflix-hystrix-简例
    netflix-hystrix-原理[译]
    netflix-hystrix-简介[译]
    JS简记-委托
    JS简记-对象关联
    JS简记-原型二
  • 原文地址:https://www.cnblogs.com/junjiang3/p/10814763.html
Copyright © 2011-2022 走看看