title: What does the "grails clean" script actually do?
body: <p>I'm curious about the <code>grails clean</code> command. Once I imported a wrong package into a domain class, It was <code>java.util.regex</code>. I used it to do a regex replace command, but it turns out that everything was unchanged so that I supposed my regex was wrong. But I left it there for future refinement.</p>
  
  <p>The web-app in my localhost functioned normally but then other programmers told me that they got compiling errors when they tried to compile my code. I shutdown grails and then start it again, but it still ran properly. Only after runnning <code>grails clean</code> the <strong>compiling error</strong> appeared.</p>
  
  <p>So it seems the application just ignored my changes in the first place. In the documentation, they say:</p>
  
  <blockquote>
    <p>In case your Grails application has
    been screwed and comes up with
    mysterious error messages try:</p>
    
    <p><code>grails clean</code></p>
  </blockquote>
  
  <p>I'm a bit confused about this "mysterious" thing. So what does <code>grails clean</code> actually do? What kinds of resources will not get compiled again, unless <code>grails clean</code> is called?</p>