Apparently ant-launcher.jar is not being included in the generated WAR when creating a "dev" war.
Originally reported to the user list by Matt Lachman.
java.lang.NoClassDefFoundError: org/apache/tools/ant/launch/AntMain
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:620)
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1847)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:873)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1326)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1205)
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
org.apache.tools.ant.Project.initProperties(Project.java:308)
org.apache.tools.ant.Project.init(Project.java:295)
groovy.util.AntBuilder.createProject(AntBuilder.java:120)
groovy.util.AntBuilder.<init>(AntBuilder.java:61)
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
java.lang.reflect.Constructor.newInstance(Constructor.java:494)
org.codehaus.groovy.runtime.MetaClassHelper.doConstructorInvoke(MetaClassHelper.java:473)
groovy.lang.MetaClassImpl.doConstructorInvoke(MetaClassImpl.java:2284)
groovy.lang.MetaClassImpl.invokeConstructor(MetaClassImpl.java:1179)
groovy.lang.MetaClassImpl.invokeConstructor(MetaClassImpl.java:1109)
groovy.lang.ExpandoMetaClass.invokeConstructor(ExpandoMetaClass.java:523)
org.codehaus.groovy.runtime.Invoker.invokeConstructorOf(Invoker.java:127)
org.codehaus.groovy.runtime.InvokerHelper.invokeConstructorOf(InvokerHelper.java:95)
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeNewN(ScriptBytecodeAdapter.java:225)
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeNew0(ScriptBytecodeAdapter.java:232)
org.codehaus.groovy.grails.web.servlet.filter.GrailsResourceCopier.copyResourceBundles(GrailsResourceCopier.groovy:48)
org.codehaus.groovy.grails.web.servlet.filter.GrailsReloadServletFilter.doFilterInternal(GrailsReloadServletFilter.java:111)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:58)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:183)
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:138)