【问题标题】:with Groovy Console, is it possible to reload changed files in classpath?使用 Groovy 控制台,是否可以在类路径中重新加载更改的文件?
【发布时间】:2012-01-03 08:22:42
【问题描述】:

我经常想在 Groovy 类中独立测试我正在开发的方法,并使用控制台来执行此操作,例如:

groovyConsole -cp mygroovyfiles

但是我还没有弄清楚如何将更改重新加载到我的 groovy 文件中,以便我可以更新文件并查看控制台中反映的结果。 “/Script/Add Directory to ClassPath”和“Script/Clear Script Context”不起作用。这可能吗?

【问题讨论】:

标签: groovy groovy-console


【解决方案1】:

我认为在 groovyConsole 中是不可能的。然而,groovysh 是另一回事。 groovysh 有一个 \l 命令,可让您重新加载脚本。我不知道这是否对你有帮助,但它对我有用。会话看起来像这样...

bobk-mbp:~ bobk$ cd work/workspace/ZGroovyProject/
bobk-mbp:ZGroovyProject bobk$ emacs src/Hello.groovy 
bobk-mbp:ZGroovyProject bobk$ groovysh
Groovy Shell (1.8.3, JVM: 1.6.0_29)
Type 'help' or '\h' for help.
-----------------------------------------------------------------------------------------------------------------------------------
groovy:000> \l src/Hello.groovy 
hello, world.
===> null
groovy:000> \l src/Hello.groovy 
hello, world from bob
===> null
groovy:000> 

【讨论】:

  • 还没有听到其他人说这是可能的,所以我猜不是。 groovysh 应该适合我的需要,我会检查一下。
  • 仅适用于脚本,不适用于从类路径加载的编译类(据我所知)。 :purge 也没有帮助。
【解决方案2】:

您可以在重新加载脚本之前尝试清理缓冲区

>clear
>load src/Hello.groovy

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-05
    • 2020-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多