从 Eclipse 调试在 ScriptEngine 中运行的 Groovy 脚本

2023-11-27

我有一个 Groovy 脚本,其运行方式如下:

File scriptFile = ...;
ScriptEngine engine = ...;
String script = FileUtils.readFileToString(scriptFile);
Object evalResult = engine.eval(script, bindings);

不出所料,脚本文件中设置的断点不会触发。我可以改变什么来让它发挥作用?该脚本需要在较大程序的上下文中运行(没有单独的启动配置),并通过ScriptEngine,并且该文件仅在运行时已知。


我正在使用这个 hack:我定义了一个 Java 类Debugger看起来像这样:

public class Debugger {

    private static final Logger log = LoggerFactory.getLogger( Debugger.class );

    /**
     * Invoke this method anywhere to end up in the Java debugger.
     * 
     * <p>Sometimes, you have code that might eventually be executed or you have a place
     * where you want to stop but no code line.
     * 
     * <p>In these case, use this method.
     * 
     * <p>Don't forget to set a breakpoint, first :-)
     * */
    public static void stopInDebugger() {
        log.error( "Please set a breakpoint in Debugger.stopInDebugger() and try again whatever you just did!" );
    }
}

我有一个断点log.errorEclipse 中的行。

现在,我可以将此行放入脚本中想要断点的位置:

Debugger.stopInDebugger();

当然,它不允许我轻松地单步执行脚本,但总比没有好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 Eclipse 调试在 ScriptEngine 中运行的 Groovy 脚本 的相关文章

  • 从 Eclipse 中的工作应用程序导出后出现 ClassNotFoundException

    因此 在将项目导出到可运行的 jar 后 我收到此消息 我很不明白为什么会这样 因为应用程序正在运行完美当我在 Eclipse 中选择 运行 时 我已经尝试过提取和打包可靠的库 但没有雪茄 有人知道该怎么办吗 Exception in th
  • JSF 和库的不明确性

    在花了一些时间使用 servlet 和 JSP 之后 现在我正在尝试了解一些有关 JSF 的知识 我已经学习了基础知识 做了几个简单的例子 对 工作流程 有了基本的了解 但我仍然无法理解 javax faces webapp FacesSe
  • 为什么在 Citrix 上首次调用 java.io.File.createTempFile(String,String,File) 需要 5 秒?

    在调试 Citrix 服务器上 Eclipse RCP 应用程序的缓慢启动时 我发现 java io createTempFile String String File 花费了 5 秒 它仅在第一次执行时执行此操作 并且仅针对某些用户帐户执
  • 使用 tac 和 sed 反转文件

    我有一个用例 我需要搜索并替换文件中最后一次出现的字符串并将更改写回文件 下面的案例是该用例的简化版本 我正在尝试反转该文件 进行一些更改 再次将其反转并写入该文件 我为此尝试了以下代码片段 tac test sed s a b sed i
  • Eclipse Android 插件中出现“调试证书已过期”错误

    我正在使用 Eclipse Android 插件来构建一个项目 但是我 在控制台窗口中出现此错误 2010 02 03 10 31 14 androidVNC Error generating final archive Debug cer
  • Grails:在域类中动态注入服务

    我需要注入基于域属性的服务 到目前为止我想出了以下内容 ApplicationHolder application getServiceClass package property Service clazz 但以这种方式加载它不会注入它的
  • 为什么乘法不适用于 Read-Host 值

    table num Read Host Prompt Enter the table number you want to get printed for i 1 i lt 11 i ans table num i write table
  • Android - 如何创建可点击的列表视图?

    我想让列表视图中的所有列表项打开到一个新页面 因此每个列表视图项目都打开到一个我可以使用的新黑色页面 我根本不知道如何实现这个 我已经连续搜索了几个小时 但找不到解决方案的答案 如果有人能够展示和 或解释如何执行此操作而不是提供链接 我们将
  • 在 mule 中使用 groovy 表达式来限制 IP

    我在 mule 中使用 cxf 创建了一个代理服务 我的 mule 版本是 3 3 0 CE 现在 我想在使用代理服务创建的 wsdl 中添加限制 我的限制不应允许他们看到我的 wsdl 的每个 IP 为此 我找到了 Groovy 表达式和
  • 从 Python 调试 C 库 (ctypes)

    我有一个使用 ctypes 和 C 共享库 dll 文件 的 Python 程序 作为 IDE 我使用 Eclipse 其中将开发两个项目 C 共享库和使用它的 python 程序 我的想法是 当我在调试模式下启动Python程序时 我可以
  • Groovy:验证 JSON 字符串

    我需要检查 Groovy 中的字符串是否为有效的 JSON 我的第一个想法就是把它发送出去new JsonSlurper parseText myString 并且 如果没有例外 就假设它是正确的 然而 我发现 Groovy 很乐意接受尾随
  • Maven安装错误找不到javax.el.E​​LContext和找不到javax.el.E​​LResolver

    我正在使用 Maven 3 和 JDK 1 7 当我尝试做的时候mvn install 我收到以下错误 ERROR domain view EmployeeNameConverter java 29 76 cannot access jav
  • Groovy List> 的行为类似于 List

    我在生产代码中发现了一个铸造List
  • 如何在 Eclipse 3.4.1 中导航到书签?

    我可以在源文件中设置书签 但是是否有快捷键可以导航到书签 这navigate菜单有一个转到行 但这没有用 如果勾选 下一个注释 上一个注释 工具栏下拉项中的 书签 项 则可以使用Ctrl and Ctrl 导航到当前打开的文件中的上一个 下
  • 访问静态范围内的全局变量

    有没有办法从同一脚本中声明的类的静态方法访问脚本中声明的全局变量 例如 def s 12345 class MyClass static def method println s 因为这样它会因错误而失败 You attempted to
  • Eclipse 如何创建一个未解决编译问题的类?

    当我尝试使用 javac 编译此类时 出现编译错误并且未创建 Test class public class Test public static void main String args int x 1L lt this cannot
  • 用于选择或删除直到(但不包括)下一个单词的所有空格的 Eclipse 快捷方式

    多年来我一直在使用 Netbeans 以下是我在 Eclipse 中找不到的极少数功能之一 如何通过一次击键组合分别选择或删除直到 但不包括 下一个或上一个单词的所有尾随或前面的空格 In netbeans Ctrl Shift Right
  • 用于 Eclipse Galileo 的 Java“clone()”方法生成器

    java最好的工具是什么clone Eclipse Galileo 中的方法生成可从存储库中获取吗 是什么原因阻止 Eclipse 开发人员将此工具包含在标准版本中 实施起来非常困难clone 正确的 这样做被认为不是一个好的做法 Bloc
  • 将 RSA 与 Eclipse 远程系统资源管理器结合使用?

    我在 Windows 7 计算机上的 Eclipse 中使用远程系统资源管理器 RSE 插件 通过 SFTP 在远程 Linux 服务器上编辑文件 我在我的机器和 Linux 服务器之间设置了 RSA 密钥对 当我在 Cygwin 命令提示
  • 如何强制 Eclipse 将 xml 布局和样式显示为文本?

    我最近升级到带有 ADT 20 0 3 的 Eclipse 4 2 Juno 如果我查看旧项目中的布局或样式 Eclipse 只会向我显示其适当的基于控件的编辑器 我想编辑语法突出显示的 xml 文本 我没有找到将插件的编辑器切换到此模式的

随机推荐

  • 在.net中加载dll而不锁定它

    我正在执行一项任务 其中我必须加载 dll 并从中获取一些信息 例如类名等 但是当我将该 dll 加载到我的代码中时 它被锁定并且无法从源代码构建 直到我关闭加载程序 我尝试了某些解决方案 但没有一个适合我 Shadowcopy 在这种情况
  • 如何在 AngularJS 中动态更改 CSS 属性

    现在我有一个背景图像 URL 硬编码到 CSS 中 我想使用 AngularJS 中的逻辑动态选择背景图像 这是我目前拥有的 HTML div class offer detail image div div CSS offer detai
  • IPython Notebook 错误:加载笔记本时出错

    在过去的几分钟内 我无法访问任何 ipynb以前用Python3 4创建的文件 我进入包含这些文件的子目录 输入 ipython3 notebook 当我打开 新 笔记本时 出现以下错误 Unexpected error while sav
  • 服务层中的授权和用户信息(.NET 应用程序)

    我目前正在 NET 环境 n 层 中使用企业应用程序 我想知道在我的 BusinessLayer BL 中管理身份验证 授权 数据过滤的最佳方法 我们将从多个接口 ASP NET 应用程序和 Web 服务 使用该 BL 我认为我的 Serv
  • 如何使用 MouseListener 查找网格中的特定单元格

    我正在尝试创建一个由单元格组成的 10 x 10 网格的 Java 游戏 网格看起来像这样 public class Grid extends JPanel implements MouseListener public static fi
  • PHP:在mysql中的时间戳值内分割日期和时间

    我在数据库表中有一个名为 时间戳 的字段 它以以下格式存储值 YYYY MM DD HH MM SS 我想分开 然后获取变量中的日期 YYYY MM DD 以及另一个变量中的时间 HH MM SS 例子 timestamp 2012 10
  • 跨内存管理器边界传递 Delphi const 字符串参数是否安全?

    主题 我想使用字符串而不是 PChar 因为这样可以省去很多转换 但如果我这样做 procedure SomeExternalProc s string external SOMEDLL DLL 然后使用非共享内存管理器在其他一些项目中实现
  • 如何在 Github actions 中设置 Dockerfile ARG

    我有一个适用于我的 Node js 服务之一的 Dockerfile 我尝试使用 Github 操作将其推送到我的 Digitalocean 注册表 我的 Node js 服务需要一个由我自己在 npm js 注册表上托管的私有包 在我的
  • 在 javascript 或 bootstrap 中创建可点击的工具提示

    制作如下图所示的可点击工具提示的最佳方法是什么 我应该使用 bootstrap 还是其他库 Thanks 干得好 Pops popover html true content function return popover content
  • Qt如何捕获指示所有gui元素已准备就绪的事件

    我想知道是否有可能捕获所有时生成的事件 Qt 对象已初始化并准备就绪 看来有些事情不能在window的构造函数中完成 它们在插槽实现中工作得很好 例如 当我想访问应用程序的根窗口时 我会这样做 in h MainWindow rootWin
  • Jquery:ajax post 和编码

    我无法理解为什么我无法从服务器答案中获得正确的 ISO 8859 1 字符集 由于这是一项针对遗留代码的工作 我几乎无法更改页面上的字符集编码 我使用 JQuery 调用 post server side code t ctext i io
  • 通过 Spark 写入 HBase:任务不可序列化

    我正在尝试使用 Spark 1 0 在 HBase 0 96 0 hadoop2 中写入一些简单的数据 但我不断遇到序列化问题 这是相关代码 import org apache hadoop hbase client import org
  • HTML - 属性与属性[重复]

    这个问题在这里已经有答案了 Is idHTML 的属性或属性 我应该做什么 selector attr id or selector prop id 我读了很多文章 但仍然很困惑 有人可以用非常简单的语言向我解释 HTML JS 中的属性和
  • 在哪里可以找到面部检测软件、算法等? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我对编写依赖于能够识别图片 或视频帧 中是否有面孔的软件感兴趣 它不需要识别人脸 因此除了以下指标之外没有其他指标 图片中是否有人脸 或不止一张 眼
  • Liquibase 命令行在 sql 中创建 diff 更改日志

    我实际上在 Windows 上的命令行中使用 Liquibase 并且尝试创建一个表示两个数据库之间差异的 sql 脚本 不幸的是我只得到 xml 文件作为回报 你能帮助我吗 我的命令行 liquidbase bat driver com
  • 在 Swift 中添加时间偏移

    我的数据库中有很多不同的显示时间 并且希望通过创建偏移量来根据用户时区显示正确的时间 我正在获取用户与 GMT 的时区偏移量 然后首先将其转换为小时 NSTimeZone localTimeZone secondsFromGMT 60 60
  • 多核CPU上32位读取的原子性

    注意 我根据我认为可能提供帮助的人在哪里添加了标签到这个问题 所以请不要喊 在我的 VS 2017 64 位项目中 我有一个 32 位长值m lClosed 当我想更新它时 我使用其中之一Interlocked函数族 考虑这段代码 在线程
  • 在配置文件脚本中使用十六进制值设置 Powershell 颜色

    我知道我可以通过在我的个人资料中设置以下内容来更改 PowerShell 控制台颜色 Host UI RawUI BackgroundColor White Clear Host 但是 在 Powershell 控制台中 您可以转到 属性
  • ImageMagick 安全策略“PDF”阻止转换

    Imagemagick 安全策略似乎不允许我执行从 pdf 到 png 的转换 转换其他扩展名似乎可以工作 只是不能从 pdf 转换 自从安装以来 我没有更改任何 imagemagick 设置 如果操作系统很重要的话 我正在使用 Arch
  • 从 Eclipse 调试在 ScriptEngine 中运行的 Groovy 脚本

    我有一个 Groovy 脚本 其运行方式如下 File scriptFile ScriptEngine engine String script FileUtils readFileToString scriptFile Object ev