shell - Grails shell 不会重新编译更改的文件

标签 shell grails groovy static-methods recompile

我是 grails 的新手,遇到了 grails shell 没有重新编译我的类的问题,即使显示了关于它的消息。这是我在做什么:

  • 我有一个 grails 2.0.0 应用程序,它具有某些静态方法的类
  • 我想从 grails shell 测试一些功能,所以我继续从 grails 项目文件夹中启动它作为 grails shell
  • 我正在调用类的静态方法来执行一些工作,如下所示:
    import com.mypackage.*
    MyClass.doWork()
    
  • 如果我看到一些意外行为或运行时错误,我会相应地修改源代码,grails shell 显示它实际上看到了变化:|Compiling 2 source files.
  • 然后我运行该方法,但该方法似乎是相同的,因为即使我确定我已经保存了 groovy 文件,它也会给我同样的错误。
  • 所以,我必须exit shell 并再次启动它。然后 grails 接收更改。

  • 我做错了什么?这似乎是相当奇怪的预期行为......

    最佳答案

    只有 run-app默认情况下启用重新加载。运行 grails -reloading shell重新加载更改的文件。不过我会使用控制台 - 它对用户更友好:grails -reloading console .

    关于shell - Grails shell 不会重新编译更改的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9573922/

    相关文章:

    bash - 如何在 Gvim 的后台运行一个进程?

    grails - Grails中的Config.groovy

    Java用持久化存储实现锁定机制

    grails - 注释可以用于使Groovy/Grails代码保持DRY吗?

    linux - 如何比较umask

    linux - 通过在我的 Linux 终端中运行脚本来初始化 PySpark shell(Spark 版本 2.4.4)

    linux - 如何在 Jenkins 管道脚本中使用 source 命令

    grails - 更新数据库记录

    grails - Grails中的验证错误

    grails - 从 grails 3 升级到 4 的静态资源问题