专栏首页Java成神之路Java_脚本引擎_02_在Idea中进行Nashorn的Debug

Java_脚本引擎_02_在Idea中进行Nashorn的Debug

一、前言

本文承接上一节:Java_脚本引擎_01_用法入门

这一节我们来看下怎么在idea中进行Nashorn的Debug ,又或者说怎么在Idea中进行js的Debug

注:idea本身就支持js的debug,无需额外的配置。

二、实例

1.js

在resources/js 目录下创建 hello.js

function testScript() {
    var name = $name;
    print("name is " + name);
}

testScript();

2.测试类

随便找个目录创建测试类

@Slf4j
public class HelloTest {

    @Test
    public void testHello2() throws ScriptException {
        //1..创建引擎
        ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
        ScriptEngine engine = scriptEngineManager.getEngineByName("nashorn");

        //2.设置参数
        engine.put("$name", "Tom");

        //3.执行脚本
        engine.eval("load('src/main/resources/js/hello.js')");



    }
}

注:在此处执行脚本时,必须通过load去加载脚本,才能正常debug

道理很简单,若使用文件流读取脚本,然后再执行脚本文本,这时,执行的是这个脚本文本,而不是js文件。

3.测试

在js中打个断点,然后再运行测试用例

 如下图,可以看到程序已经成功走到断点处。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Tomcat_总结_01_tomcat环境搭建

    shirayner
  • Android基础_2 Activity线性布局和表格布局

    在activity的布局中,线性布局和表格布局是最简单的,这次分别从线性布局,表格布局以及线性布局和表格混合布局做了实验,实验中只需要编写 相应的xml的代码,...

    shirayner
  • Linux_学习_02_ 重启tomcat与查看tomcat日志

    shirayner
  • 前端基础:ECMAScript 6

    ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准。

    RendaZhang
  • 通过 Serverless Components Koa 构建后台服务

    Serverless Components 是支持多个云资源编排和组织的场景化解决方案,主要基于客户的具体场景,如 Express 框架支持、网站部署等。Ser...

    issac
  • PHP Session

    Session 保存在服务端。保存在超全局变量 $_SESSION。 设置 Session 在 PHP 文件最上方开启 Session session_star...

    康怀帅
  • 函数

    函数是带名字的代码块,用于完成具体的工作。通过使用函数,程序的编写、阅读、测试和修复都将更容易。

    于小勇
  • Paloalto 系统初始化和管理

    Device > Setup > Management > General Settings

    刘銮奕
  • JavaWeb 学习之 JSTL

    bgZyy
  • JavaScript基础学习--12 日期对象、时钟倒计时

    Demos:   https://github.com/jiangheyan/JavaScriptBase 一、时间 var date = new Date...

    用户1148399

扫码关注云+社区

领取腾讯云代金券