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

时间:2012-03-05 21:01:35

标签: 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()
    
  4. 如果我看到一些意外行为或运行时错误,我会相应地修改源代码并且grails shell显示它实际上看到了更改:|Compiling 2 source files.

  5. 然后我运行该方法,但似乎该方法是相同的,因为即使我确定我已经保存了groovy文件,它也会给我同样的错误。
  6. 所以,我必须exit shell再次启动它。然后grails接受了这些变化。
  7. 我做错了什么?这似乎是相当奇怪的预期行为......

1 个答案:

答案 0 :(得分:11)

默认情况下,只有run-app才能重新加载。运行grails -reloading shell以重新加载已更改的文件。我虽然使用了控制台 - 它的用户友好性更高:grails -reloading console