History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: GRAILS-1919
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Blocker Blocker
Assignee: Graeme Rocher
Reporter: Tom Nichols
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
Grails

dev WAR is missing ant-launcher.jar

Created: 30/Nov/07 01:30 PM   Updated: 26/Feb/08 07:50 AM
Component/s: Project infrastructure
Affects Version/s: 1.0-RC2
Fix Version/s: 1.0-RC2

Time Tracking:
Not Specified

Environment: Tomcat 5.5


 Description  « Hide
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)



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Graeme Rocher - 03/Dec/07 04:24 AM
Note the war config has moved to grails-app/conf/Config.groovy. You will need this in your Config.groovy file:
// WAR dependency config
grails.war.dependencies = [
    "ant.jar",
    "ant-launcher.jar",
    "hibernate3.jar",
    "jdbc2_0-stdext.jar",
    "jta.jar",
    "groovy-all-*.jar",
    "springmodules-sandbox.jar",
    "standard-${servletVersion}.jar",
    "jstl-${servletVersion}.jar",
    "antlr-*.jar",
    "cglib-*.jar",
    "dom4j-*.jar",
    "ehcache-*.jar",
    "junit-*.jar",
    "commons-logging-*.jar",
    "sitemesh-*.jar",
    "spring-*.jar",
    "log4j-*.jar",
    "ognl-*.jar",
    "hsqldb-*.jar",
    "commons-lang-*.jar",
    "commons-collections-*.jar",
    "commons-beanutils-*.jar",
    "commons-pool-*.jar",
    "commons-dbcp-*.jar",
    "commons-cli-*.jar",
    "commons-validator-*.jar",
    "commons-fileupload-*.jar",
    "commons-io-*.jar",
    "commons-io-*.jar",
    "*oro-*.jar",
    "jaxen-*.jar",
    "xercesImpl.jar",
    "xstream-1.2.1.jar",
    "xpp3_min-1.1.3.4.O.jar"
]

grails.war.java5.dependencies = [
    "hibernate-annotations.jar",
    "ejb3-persistence.jar",
]

Matt Lachman - 26/Feb/08 07:50 AM
Graeme - is this still necessary in 1.0.1? I see that the new War.groovy script also includes these dependencies...