首页 > 编程语言 >使用easy-captcha验证码出现javax. script ScriptEngine.eval(String)" because "engine" is nul

使用easy-captcha验证码出现javax. script ScriptEngine.eval(String)" because "engine" is nul

时间:2023-06-30 16:24:29浏览次数:45  
标签:engine because String 验证码 nashorn captcha eval javax

1. 问题

java项目使用  ArithmeticCaptcha  验证码,出现 javax. script ScriptEngine.eval(String)" because "engine" is nul

ArithmeticCaptcha captcha = new ArithmeticCaptcha(111, 36);
<dependency>
    <groupId>com.github.whvcse</groupId>
    <artifactId>easy-captcha</artifactId>
    <version>1.6.2</version>
</dependency>

2. 问题分析

Jdk8中内置的JavaScript引擎 nashorn 被移除,导致验证码使用报错Cannot invoke "javax.script.ScriptEngine.eval(String)" because "engine" is null

项目中使用了 com.github.whvcse包的easy-captcha 验证码依赖,升级至Jdk17后,验证码接口报错:Cannot invoke "javax.script.ScriptEngine.eval(String)" because "engine" is null

错误原因很明显脚本引擎执行脚本语句报错,因为执行引擎为空。

查询相关资料Jdk8自带的JavaScript引擎 nashorn 再升级到Jdk9后就被移除了,从而导致报错

3. 解决方法

在pom文件添加JavaScript引擎 nashorn 依赖,重新启动项目即可

<dependency>
    <groupId>org.openjdk.nashorn</groupId>
    <artifactId>nashorn-core</artifactId>
    <version>15.4</version>
</dependency>

 

标签:engine,because,String,验证码,nashorn,captcha,eval,javax
From: https://www.cnblogs.com/liyhbk/p/17517104.html

相关文章

  • Transaction rolled back because it has been marked as rollback-only大概问题及解
    Transactionrolledbackbecauseithasbeenmarkedasrollback-only问题:前几天遇到一个问题,代码没有抛出我想要的带自定义提示消息的异常,却报了个这个,去搜了一下,大概原因如下:因为我在controller的方法上写了@Transactional注解,里边调用的service的方法上也写了@Transactiona......
  • 【五期邹昱夫】CCF-B(IEEE Access'19)Badnets: Evaluating backdooring attacks on deep
    "Gu,Tianyu,etal."Badnets:Evaluatingbackdooringattacksondeepneuralnetworks."IEEEAccess7(2019):47230-47244."  本文提出了外包机器学习时选择值得信赖的提供商的重要性,以及确保神经网络模型安全地托管和从在线存储库下载的重要性。并展示了迁移学习场......
  • 时序数据库 TDengine 与腾讯云多个产品线完成兼容性互认证明
    随着数字经济蓬勃发展,数据成为驱动企业数字化转型的关键生产要素,如何加强对数据资源的治理利用、实现数据洞察、激活数据价值正成为亟待解决的问题。在此背景下,数据库与操作系统、云平台等国产化软件相互结合赋能成为解决问题的思路之一。近日,经过数月努力,涛思数据旗下时序数据库......
  • 关于Prompt Engineering你该了解啥?OpenAI应用研究负责人帮你梳理了
    随着ChatGPT、GPT-4等模型的兴起,人们对如何创建提示以获得想要的输出越来越感兴趣。研究者对特定提示的响应可能很难预测,并且会因模型的不同而不同。本文来自OpenAI的翁丽莲(LilianWeng)撰文介绍了关于提示的一些内容,包括基础提示、指令提示等内容。Prompt工程,也称为In-......
  • Automatic quality of generated text Evaluation for Large Language Models,针对大模
    一、LLM生成结果自动化评测的技术挑战和研发背景LargeLanguageModels(LLMs)haverecentlygrownrapidlyandtheyhavethepotentialtoleadtheAItransformation.ItiscriticaltoevaluateLLMsaccuratelybecause: Highqualityrequirementsforgenerativere......
  • unreal engine 5.2 c++ 自定义gameplay
    1.新建c++工程2.打开worldsetting3.修改默认GamePlay4.依次新建对应GamePlay替换默认GamePlayDefaultPawnHUDPlayerControllerGameStatePlayerStateSpectatorPawn5.添加AhellogpGameModeBase默认构造函数#include"hellogpGameModeBase.h"#include......
  • Power BI - HASONEVALUE函数
    返回值:是布尔值,True,False如果要判断的内容有多个值,不会报错,而是返回False。  ......
  • 时序数据库 TDengine 与腾讯云多个产品线完成兼容性互认证明
    随着数字经济蓬勃发展,数据成为驱动企业数字化转型的关键生产要素,如何加强对数据资源的治理利用、实现数据洞察、激活数据价值正成为亟待解决的问题。在此背景下,数据库与操作系统、云平台等国产化软件相互结合赋能成为解决问题的思路之一。 近日,经过数月努力,涛思数据旗下时序数......
  • TDengine 3.0.5.0 正式发布,系统稳定性进一步提升
    自3.0版本发布以来,在研发人员和社区用户的不断努力下,时序数据库(TimeSeriesDatabase)TDengine做了大量更新,产品稳定性和易用性也在不断提升。在我们为TDengine筹备六岁生日“Party”的同时,TDengine的研发小伙伴们也在加班加点地进行优化迭代的工作,想要在六岁生日的节点上为......
  • GPT-Engineer:根据指示生成代码的AI
    AutoGPT之后,又一个明星项目诞生了!GPT-Engineer一夜之间火遍全网,GitHub项目已经狂揽19k星。这是一个根据指示生成代码的AI工具,你只需要「动动嘴」,就能直接构建整个代码库。项目地址:https://github.com/AntonOsika/gpt-engineer甚至,它能学习你的代码风格,短短几分钟就能让你搞定......