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

Tom*_*ato 6 shell grails groovy static-methods recompile

我是grails的新手,遇到了grails shell的问题,即使显示有关它的消息,也不会重新编译我的类.这是我正在做的事情:

  1. 我有一个grails 2.0.0应用程序,它具有某些静态方法的类
  2. 我想测试一下grails shell中的一些功能,所以我继续从grails项目文件夹中启动它 grails shell
  3. 我正在调用类的静态方法来执行一些工作,如下所示:

    import com.mypackage.*
    MyClass.doWork()
    
    Run Code Online (Sandbox Code Playgroud)
  4. 如果我看到一些意外的行为或运行时错误,我会相应地修改源代码并且grails shell显示它实际上正在看到更改: |Compiling 2 source files.

  5. 然后我运行该方法,但似乎该方法是相同的,因为它给了我相同的错误,即使我确定我已经保存了groovy文件.
  6. 所以,我必须exit再次启动它.然后grails接受了这些变化.

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

Bur*_*ith 11

run-app默认情况下启用重新加载.运行grails -reloading shell以重新加载已更改的文件.我会使用控制台 - 它更方便用户:grails -reloading console.