What does the “grails clean” script actually do?

后端 未结 2 1539
春和景丽
春和景丽 2021-02-07 00:35

I\'m curious about the grails clean command. Once I imported a wrong package into a domain class, It was java.util.regex. I used it to do a regex repla

相关标签:
2条回答
  • 2021-02-07 01:07
    grails clean
    

    The clean command deletes all compiled resources from the application. but not temporary files.

    grails clean-all
    

    The clean-all command deletes all compiled resources as well as work directory, which contains project-specific temporary files.

    Since Groovy is a compiled language, as with Java, this is sometimes useful to clear old instances of classes and ensure correct compilation. It's also a good idea to run these scripts before running tests or creating a WAR file to ensure a full compilation occurs.

    0 讨论(0)
  • 2021-02-07 01:20

    The clean script deletes compiled classes and property files and other non-source resources that were copied to the classes dir, and also other stuff like test reports.

    The problem that you're seeing is with incremental compilation. It's fairly reliable in general but can fail with Java, and is unfortunately more likely with Groovy since it's a dynamic language. It's hard to detect the full scope of a change in one class on all other classes, and sometimes changes get missed. If you're lucky it's obvious that something's wrong but sometimes it can take a while wondering why some seriously strange behavior is happening.

    So the best thing to do is always do a full compile, whether it's pure Java or a mix of Groovy and Java. Since this is expensive (especially with larger projects) it's sufficient to use incremental compilation as much as possible, but occasionally force a full compile with grails clean.

    0 讨论(0)
提交回复
热议问题