首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从Nashorn切换到Rhino (Gradle)

从Nashorn切换到Rhino (Gradle)是指在Gradle构建工具中从Nashorn JavaScript引擎切换到Rhino JavaScript引擎的过程。

Nashorn是Java 8引入的一种基于JVM的JavaScript引擎,它提供了在Java应用程序中执行JavaScript代码的能力。然而,自Java 11起,Nashorn已被标记为过时,并在Java 11中被删除。因此,如果需要在Java 11或更高版本中继续使用JavaScript引擎,可以考虑切换到Rhino。

Rhino是Mozilla基金会开发的一种开源JavaScript引擎,它是基于Java的,并且与Java紧密集成。Rhino具有良好的兼容性和稳定性,并且在Java生态系统中得到广泛应用。

切换到Rhino可以通过以下步骤完成:

  1. 在Gradle构建脚本中,将Nashorn相关的依赖项和插件替换为Rhino相关的依赖项和插件。具体来说,需要将Nashorn相关的依赖项从构建脚本的依赖项列表中移除,并添加Rhino相关的依赖项。
  2. 在Gradle构建脚本中,将Nashorn相关的任务和配置项替换为Rhino相关的任务和配置项。这包括将Nashorn相关的任务和配置项的名称和属性替换为Rhino相关的名称和属性。
  3. 针对Rhino进行必要的代码调整和优化。由于Nashorn和Rhino之间存在一些语法和行为差异,可能需要对现有的JavaScript代码进行一些修改和调整,以确保其在Rhino中正常运行。
  4. 运行Gradle构建命令,验证切换到Rhino后的构建过程是否正常,并确保JavaScript代码能够在Rhino中正确执行。

总结起来,从Nashorn切换到Rhino (Gradle)是为了在Java应用程序中继续使用JavaScript引擎的过程。Rhino是一种可靠且广泛应用的JavaScript引擎,通过替换相关的依赖项、任务和配置项,并进行必要的代码调整,可以顺利完成切换过程。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

JS引擎(2):Java平台上JavaScript引擎—RhinoNashorn概述

于是Rhino就诞生了。 官网自带Rhino历史,跟Wikipedia上的Rhino词条(维基居然也是敏感词了)基本上一样,有兴趣的话可以去看看。 Parser是SpiderMonkey移植过来的。...只JVM以上的层面看,Rhino既可以工作于纯解释模式(-1),也可以工作于纯编译模式(0-9)。...Java字节码) ] -> JVM加载和执行生成的字节码 -> [ 运行结果 ] 只JVM以上的层面看,Nashorn是一种单层的纯编译型JavaScript实现。...后来得到了内部的关注,决定将其产品化,作为默认的JavaScript实现替换掉JDK6开始包含在JDK之中的Rhino。...Oracle JDK 8 build 82开始,Nashorn已经作为JDK8的一部分包含在安装包中。

2.5K10

Nashorn在Hello出行物联网平台下的实践与性能调优

Nashorn简介 Nashorn是一个以Java编程语言开发的JavaScript 引擎,最初由Oracle开发,后来由 OpenJDK 社区开发。...Nashorn 已包含在Java 8到 JDK 14 中。 JDK 6 开始,Java 就已经捆绑了JavaScript 引擎,该引擎基于 Mozilla 的 Rhino 。...该特性允许开发人员将 JavaScript 代码嵌入到 Java 中,甚至嵌入的 JavaScript 中调用 Java。... JDK 8 开始, Nashorn 取代 Rhino 成为 Java 的嵌入式 JavaScript 引擎。Nashorn 完全支持 ECMAScript 5.1 规范以及一些扩展。...与先前的 Rhino 实现相比,这带来了 2 到 10 倍的性能提升,虽然它仍然比Chrome 和Node.js 中的V8 引擎要差一些 性能调优 在生产使用的过程中,我们通过上线前的压测,对核心链路部分做出了相应的代码优化

95620

【漏洞预警】Apache Solr远程代码执行漏洞 (CVE-2019-0193)处置手册及技术分析

Apache Solr官方发布Apache Solr远程代码执行漏洞(CVE-2019-0193)安全通告,此漏洞存在于可选模块DataImportHandler中,DataImportHandler是用于数据库或其他源提取数据的常用模块...4漏洞防护 4.1 官方升级 Solr的8.2.0版本开始,使用问题参数dataConfig需要将java系统属性“enable.dih.dataconfigparam”设置为true。...产品规则升级的操作步骤详见如下链接: IPS:https://mp.weixin.qq.com/s/JsRktENQNj1TdZSU62N0Ww 5技术分析 5.1 前置概念 Dataimport Solr支持Dataimport...在doFullImport中,首先会创建一个DocBuilder对象,DocBuilder的主要功能是给定配置中创建Solr文档,同时会记录一些状态信息。...Solr中默认的js引擎是NashornNashorn是在Java 8中用于取代Rhino(Java 6,Java 7)的JavaScript引擎,在js中可以通过Java.type引用Java类,就像

1K10

JDK8新特性全解析:Java8变革之旅

灵巧的Lambda表达式到流畅的Stream API,再到强大的新日期时间API,每一步都充满惊喜!不论你是刚踏入Java森林的小猫,还是在代码丛林中游走多年的老虎,这里都有你需要的猎物。...Nashorn JavaScript引擎 概述 Nashorn,一个JavaScript引擎,是Java 8的另一个重要特性。它允许在JVM上运行JavaScript代码。...Nashorn比Java 7中的Rhino引擎更快,完全兼容ECMAScript 5.1规范,并提供了一些扩展,可以使其与Java代码相互操作。...("nashorn"); String code = "var greeting = 'Hello Nashorn'; greeting;"; Object result = nashorn.eval...接口的默认方法到Optional类,再到Nashorn JavaScript引擎,每一个特性都在其适用领域内提供了前所未有的便利和强大功能。

5710

云存储硬核技术内幕——(23) 双城记(中)

不可用时,需要通过一种什么机制将Rhino的访问切换到另一个AZ呢?...Rhino的访问被双活AZ所接管,从而实现了HTTP层的双活。 大家可能会问一个问题:如果Rhino在上传(put)或下载(get)一个文件的时候,主AZ整体断电呢?...因此,Rhino只需要重新发起断点续传,就可以从上一次传输终端的地方重新开始上传或下载文件了。...我们只需要修改副本分配策略,让两个副本必须有一个在另一个AZ,就可以让三副本跨AZ分布了。 这不是很好吗? 正如鲁迅指出的那样,事实总是和理想有一定的差距。...当主AZ全部失效(如整个AZ断网或断电)时—— 如图,主AZ的两个副本都不可用了,只有AZ的一个副本,如李密《陈情表》里面描述的:“外无期功强近之亲,内无应门五尺之童。

49720

window系统权限不足导致gradle构建失败的解决办法

本人在使用window搭建环境的过程中遇到了一个gradle构建失败的的问题,困扰了很久,具体构建报错提示如何: gradle location is incorrect 在搜索了这个错误之后,尝试了很多方案...,修改gradle路径的,添加gradle环境变量,添加GRADLE_HOME的,自定义本地仓库,移动gradle软件到工程目录的,均无法解决问题。...打开详细日志: Could not create parent directory for lock file C:\Program Files (x86)\gradle-4.6\repository\...wrapper\dists\gradle-4.10-bin\bg6py687nqv2mbe6e1hdtk57h\gradle-4.10-bin.zip.lck 看到这个我突然想到了window系统权限,...默认的是没有操作C盘的权限的,我立马换到了D盘,于是乎,一正常了。

1.9K20

JavaScript是如何工作的:深入V8引擎&编写优化代码的5个技巧

以为实现 JavaScript 引擎的流行项目的列表: V8 —  开源,由 Google 开发,用 C ++ 编写 Rhino —  由 Mozilla 基金会管理,开源,完全用 Java 开发...Konqueror 网页浏览器开发 Chakra (JScript9) — Internet Explorer Chakra (JavaScript) — Microsoft Edge Nashorn...接下来,Crankshaft  另一个线程开始优化。...对于该方法的所有下一次调用,V8 引擎都假定隐藏的类没有更改,并使用以前的查找存储的偏移量直接跳转到特定属性的内存地址。这大大提高了执行速度。...相反,它会转换我们拥有的所有上下文(堆栈,寄存器),以便在执行过程中切换到优化版本上。这是一个非常复杂的任务,考虑到除了其他优化之外,V8 最初还将代码内联。 V8 不是唯一能够做到的引擎。

1.6K20

章鱼抓娃娃添加Bugly-Tinker热更新支持

中添加classpath; 接下来添加tinker-support.gradle文件并在app.gradle里添加配置; .........这样,每次我们发布线上包后,将上述生成文件复制一份并替换到 app/bakApk/app-last-release 目录下即可。...if (isReleaseTask(gradle.startParameter.taskNames)) apply from: 'tinker-support.gradle'//tinker线上配置...生成测试补丁 将代码回至有问题的线上节点。 在此配置下使用walle打 prerelease 包,并备份刚刚在 app/build/bakApk/日期 目录下生成的基准文件。...安装刚刚生成的基准apk(即代码等同于线上包的debug包); 代码回到待发布节点(前面几步造成的代码改动不需要保存),将第2步备份好的基准文件替换到 app/bakApk/app-last-prerelease

80320

Java 8的新特性还不了解?快进来!

Java 8发布到现在已经6年多了,java 8在Java历史版本中是一个具有“里程碑”意义的重要版本,相信现在很多公司都用上了Java 8这个版本,用了之后你就知道为什么说是“里程碑”了,然后你会觉得...新工具 − 新的编译工具,如:Nashorn引擎 jjs、 类依赖分析器jdeps。...Nashorn, JavaScript 引擎 − Java 8提供了一个新的Nashorn javascript引擎,它允许我们在JVM上运行特定的javascript应用。...JDK 1.8开始,Nashorn取代Rhino(JDK 1.6, JDK1.7)成为Java的嵌入式JavaScript引擎。Nashorn完全支持ECMAScript 5.1规范以及一些扩展。...与先前的Rhino实现相比,这带来了2到10倍的性能提升。 jjs是个基于Nashorn引擎的命令行工具。

1.2K20
领券