jdk1.8的新特性之--Rhion变为Nashorn

Exception in thread "main" javax.script.ScriptException: ReferenceError: "println" is not defined in 在java代码调用,脚本引擎时报错: 代码: package com.zcw.zcwbook.demo16; import javax.script.Invocable; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; import javax.script.ScriptExceptio... 阅读详情

在jdk1.8中,Rhion(犀牛,jdk1.6中的)接口变成了Nashorn(犀牛式驱逐战车,jdk1.8中的)接口,在学习中,遇到如下错误,这是在写js的导入java工具包时遇到的。

javax.script.ScriptException: ReferenceError: "importPackage" is not defined in <eval> at line number 1
	at jdk.nashorn.api.scripting.NashornScriptEngine.throwAsScriptException(NashornScriptEngine.java:467)
	at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:451)
	at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:403)
	at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:399)
	at jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:155)
	at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:264)
	at dynamicCompile.Rhino_demo.main(Rhino_demo.java:51)
Caused by: <eval>:1 ReferenceError: "importPackage" is not defined
	at jdk.nashorn.internal.runtime.ECMAErrors.error(ECMAErrors.java:57)
	at jdk.nashorn.internal.runtime.ECMAErrors.referenceError(ECMAErrors.java:319)
	at jdk.nashorn.internal.runtime.ECMAErrors.referenceError(ECMAErrors.java:291)
	at jdk.nashorn.internal.objects.Global.__noSuchProperty__(Global.java:1428)
	at jdk.nashorn.internal.scripts.Script$3$\^eval\_.:program(<eval>:1)
	at jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:623)
	at jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:494)
	at jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:393)
	at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:446)
	... 5 more

就是,换了接口后,导包方式由importPackage(java.util)变为java.util.某个工具类名字,边用边导的形式,例如:
importPackage(java.util); var list = Arrays.asList([‘列表中的元素1’,‘列表中的元素2’,‘列表中的元素3’,‘列表中的元素4’]) 变为:
var list = java.util.Arrays.asList([‘列表中的元素1’,‘列表中的元素2’,‘列表中的元素3’,‘列表中的元素4’])
如有不对,欢迎指正!!!

JDK8-Nashorn-BUG:Nashorn中的错误 JDK版本: 1.8.0_131 错误说明: 当构造来获取Nashorn引擎时,发送给构造函数的ClassLoader不会用于构造NashornScriptEngine。 中文版本: 原因: 在jdk.nashorn.api.scripting.NashornScriptEngineFactory:431静态方法getAppClassLoader() 字节码: * 0: invokestatic java/lang/Thread.currentThread:()Ljava/lang/Thread; * 3: invokevirtual java/lang/Thread.getContextClassLoader:()Ljava/lang/ClassLoader; * 6: astore_0 立即下载

相关推荐

用Codex自动化挖掘电梯行业外贸客户:从关键词到22维深度分析

在B2B外贸客户开发中,精准定位垂直行业潜在客户是核心挑战。传统手动搜索效率低下,而数据驱动的工作流正成为解决方案。其原理在于将模糊的业务需求转化为机器可识别的结构化查询,通过组合行业核心关键词(如“Elevator Manufacturer”、“Elevator Maintenance”)与商业角色描述,系统性地从海量数据中筛选目标。这种自动化抓取技术的价值在于,它不仅生成客户名单,更通过多维数据分析(如公司规模、业务标签、数字足迹)构建初步的客户画像,为后续的优先级排序和个性化触达提供情报基础。在工业制

weixin_34054866的博客 453

报错“importPackage“ is not defined

在学习尚学堂视频过程中,跟着老师敲代码,但是自己的代码报错: Exception in thread "main" javax.script.ScriptException: ReferenceError: "importPackage" is not defined in <eval> at line number 1 at jdk.nashorn.api.scripting.NashornScriptEngine.throwAsScriptException(NashornScript

bobozai86的博客 1717

Docker 与容器技术的未来:从 OCI 标准到 eBPF 的演进

OCI 的核心目标是创建一个开放的、厂商中立的容器技术标准。这意味着,只要一个容器镜像符合 OCI 镜像格式规范,它就可以在任何符合 OCI 运行时规范的容器运行时上运行。eBPF 是一种革命性的技术,它允许在 Linux 内核中安全地运行沙盒程序,而无需修改内核源代码或加载内核模块。这些程序可以注册到内核中的各种事件点(如网络包到达、系统调用、函数调用/返回),并在事件发生时执行自定义逻辑。核心思想是:在不将数据复制到用户空间的情况下,程序可以直接在内核中处理数据,极大地提高了效率和性能。

专栏 1381

使用过程中的常见错误及如何修改代码(随时不定时更新)

使用过程中的常见错误及如何修改代码(随时不定时更新) 1. ReferenceError: “importPackage” is not defined in at line number 例如:String jsCode = "importPackage(java.util); var list = Arrays.asList([“1”,“2”,“3”]); "; 可改为String jsCo...

weixin_44062430的博客 769

C++ 程序稳定运行一段时间后异常中止?vc6 运行库的bug!!!

事件查看器提示:错误应用程序 xxxxxxx.exe,版本 0.0.0.0,错误模块 MSVCRTD.DLL,版本 6.0.9782.0,错误地址 0x00012b40。这是一个通信方面的软件,需要长期运行,在压力测试时,高负荷连续运行一定天数时必定崩溃,而且都是在msvcrtd.dll中崩溃。后来在dump文件中发现调用栈在是MSVCRTD.DLL模块,跟踪代码发现是在void * __cdecl _heap_alloc_dbg(        size_t nSize,        int nBloc

qingflying的专栏 2678

Claude skill-creator插件深度解析:从创建到优化的完整技能工程化体系

摘要:skill-creator是Anthropic推出的Claude技能开发插件,提供从创建到优化的全流程工程化支持。其核心架构采用渐进式披露机制和多Agent协作模式,包含Grader、Analyzer等专业评估组件。该插件支持自动化评测系统,通过测试用例管理、并行执行和结果聚合实现技能验证;提供迭代优化算法,基于数据驱动改进技能性能。典型应用场景包括标准化技能开发、自动化测试验证和触发优化,显著降低开发门槛并提升技能质量。

虚心若愚 988

java调用javascript时不能识别importPackage

解决javascript的importPackage报错

Tuzi_faith的博客 552

python数据处理与分析案例,python如何进行数据处理

大家好,本文将围绕基于python的数据处理案例展开说明,python数据处理与分析案例是一个很多人都想弄明白的事情,想搞清楚python如何进行数据处理需要先了解以下几个事情。大家好,小编来为大家解答以下问题,python数据处理案例步骤及其代码,python数据处理与分析教程,今天让我们一起来看看吧!哈喽~今天学习记录的是数据分析实训小案例。就用这个案例来好好巩固一下 python 数据分析三剑客。

a17348的博客 1237

jdk8导包问题

个人感觉jdk8还有bug,有时程序中需要的包明明可以在jre system library中找到,但在类中导包却报错。 如图: 换成jdk7以后错误消失。

衣带渐宽终不悔,为伊消得人憔悴。 597

华为自研 ERP、Oracle EBS 与 SAP 上线时系统配置思路设计差异深度分析

本文对比分析了华为自研ERP、Oracle EBS和SAP S/4HANA三大ERP系统在上线配置思路上的核心差异。从架构设计看,华为采用分布式微服务架构,SAP采用分层服务架构,Oracle采用集中式一体化架构;在模块配置上,华为以业务场景为导向,SAP基于行业模板,Oracle强调模块独立性;数据迁移方面,华为侧重业务规则清洗,SAP注重数据质量监控,Oracle依赖标准化工具;流程适配上,华为系统随流程调整,SAP在框架内优化,Oracle需定制开发;定制开发模式差异明显,华为采用插件化扩展,SAP使

金牌架构师 1448

高渗透率光伏接入配电网的电压越限与谐波治理:基于VSG构网型控制与SVG+APF联合补偿的Simulink仿真研究

本文针对高渗透率光伏接入配电网引发的电压越限和谐波畸变问题,提出了一种分层递进的综合治理方案。通过建立IEEE 33节点配电网的Simulink仿真模型,首先验证了传统跟网型控制下光伏渗透率提高导致的电压越上限(最高达1.08 p.u.)和系统谐波畸变严重(THD达8.72%)问题。进而提出:1)将部分光伏逆变器改造为构网型VSG控制,利用其无功调压能力与虚拟阻抗技术实现本地治理;2)在关键节点加装SVG+APF联合补偿装置进行全局动态无功补偿与谐波滤除。仿真结果表明,该方案能将节点电压控制在0.94-1.

huanghm88的专栏 576

JDK1.8新特性---------函数式接口&方法引用

函数接口

m0_46938055的博客 473

PLC为西门子的S7-1200,舵机为 DS3218,PLC控制舵机旋转程序实现?

🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up!    备注: 部分问题/难题源自互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验总结所得,数条可行方案供所需之人参考。

**My Coding Family** 998

jdk1.8新特性之Nashorn JavaScript扩展

package com.test.nashornJavaScript; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; import java.math.BigDecimal; /** * java8新特性之七Nashorn JavaScript 出处:https://blog.csdn.net/wen901230zi/article/details/105388973 * @auther zha.

907

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

javax.script.ScriptException: ReferenceError: "xxx" is not defined in <eval>

大家好,我是烤鸭: 今天使用 javax.script.ScriptEngine 遇到一个奇怪的问题,无法识别js方法。 1. 报错内容: javax.script.ScriptException: ReferenceError: "a" is not defined in <eval> at line number 1057 at jdk.nashorn.api...

烤鸭的世界我们不懂。 1万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

报错"importPackage" is not defined

在学习尚学堂视频过程中,跟着老师敲代码,但是自己的代码报错: Exception in thread "main" javax.script.ScriptException: ReferenceError: "importPackage" is not defined in &lt;eval&gt; at line number 1 at jdk.nashorn.api.scripting....

wangruoao的博客 3605

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

jdk.nashorn.internal.runtime 不存在

jdk.nashorn.internal.runtime 不存在

Rebecca07的博客 7376

元空间GC

对我们的业务使用场景,ScriptEngineManager使用是当做局部变量使用,所以对于缓存的动态编译的class,在后续的调用中不会再次被使用,每次代码执行都会创建一个新的ScriptEngine,都会创建一个ClassLoader及动态编译、加载一个Class,所以会产生大量的Klass对象,回收导致大量元数据区的内存碎片,频繁触发full gc,最终导致metaspace oom。④每一个类加载器的存储区域都称作一个元空间,当一个类加载器被垃圾回收器标记为不再存活,其对应的元空间会被回收。

qq_43837702的博客 1629

关于控制台报错ReferenceError: MutationEvent is not defined的解决方案

关于控制台报错ReferenceError: MutationEvent is not defined的解决方案(绝对想不到的解决方案)

qq_69932108的博客 6976

JDK 8 新特性 | Nashorn 脚本引擎

Nashorn JavaScript 引擎是 Java 8 的一部分,它与其它像 Google V8 (它是 Google Chrome 和 Node.js 的引擎)的独立引擎相互竞争。 Nashorn 扩展了 Java 在 JVM 上运行动态 JavaScript 脚本的能力。 在接下来的大约15分钟里,您将学习如何在 JVM 上动态运行 JavaScript。 通过一些简短的代码示例演...

挖坑埋你 1万+

javax.script.ScriptException: ReferenceError: “window“ is not defined in security.js at line number

使用jmeter执行加密登录接口的测试遇到的问题。 问题记录: 今天使用jmeter执行加密登录接口的测试,因为测试环境的应用包是以前的老版本(可能有两年了),所以需要替换加密文件:security.js //jmeter JSR223 预处理程序 load("security.js"); //pwd1 = vars.get("passwd"); function RSA(){ va...

查拉图斯特拉面条的博客 1655

java scriptengine v8_JDK1.8中如何用ScriptEngine动态执行JS

JDK1.8中如何用ScriptEngine动态执行JSjdk1.6开始就提供了动态脚本语言诸如JavaScript动态的支持。这无疑是一个很好的功能,毕竟Java的语法不是适合成为动态语言。而JDK通过执行JavaScript脚本可以弥补这一不足。这也符合“Java虚拟机不仅仅是Java一种语言的虚拟机“这一目标。ScriptEngine功能强大,基本能实现笔者所能想到的Java与JavaScr...

weixin_30421223的博客 521

java使用rhino-engine执行动态js代码

【代码】java使用rhino-engine执行动态js代码。

qq_34442128的博客 405

java15新特性

JDK 15 JAVA 15的新特性展望 2020年9月15号,Java15它依旧如期而至。 目录 JEP 371: Hidden Classes JEP 372: 删除 Nashorn JavaScript Engine JEP 377: 新的垃圾回收器ZGC正式上线了 JEP 378: Text Blocks 标准化 JEP 379: 新的垃圾回收器Shenandoah上线 总结 JDK 15 JAVA 15的新特性展望 伴随着2020的寒冬和新冠病毒的肆虐,JAVA迎来了久未已久的JAVA 1

qq120631157的博客 596

eclipse中html文件的${}报错:‘,‘ expected.Language Server报错:‘,‘ expected

问题出现在:新安装的eclipse,版本2020-12 (4.18.0),其中html有如上标题这种报错,报错图片: 搜了下,发现有这种解决方式: Window—>preferences—>Language Servers: 取消勾选 然后保存即可。

hmh_java_life的博客 2121
上一篇: JavaCompiler:java.lang.NullPointerException报空指针异常解决
下一篇: 类加载之类构造的顺序
hmh_java_life
博客等级 码龄7年 0粉丝 12原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值