Hi Kris,
I tried a couple different things and got a bit more information.
First, I tried the external clean/dev war/deploy and was able to successfully start the application.
Debugging the startup indicated that the exception is caused by the loader trying to load a class where the name itself is null. From breaking further up in the createPool() method, I can see that all the properties of the pool are null, including the driverClassName, username, password, etc. Although oddly I did see the same NPE during startup in the console in STS when using the external build that did work, so I think this may be a red herring.
When building and deploying in STS there is another exception being thrown during my bootstrap which looks like it is the real problem, since it does not occur when building and deploying from command line. The stack is below. This is coming from the Audit Logging plugin (http://grails.org/plugin/audit-logging) which listens for changes to domain classes and creates AuditLogEvent entries. Given the error about the unknown entity I wonder if this is possibly a classpath issue with how these plugins are getting into the tcServer when deployed via STS?
The line at BootStrap$_closure1.doCall(BootStrap.groovy:211) creates a new User domain class and calls save(failOnError:true), which is what is killing the startup.
Let me know what else I can do to get you more info to debug this.
Code:
2011-02-28 20:41:53,423 [main] ERROR auditable.AuditLogListener - AuditLogEvent save has failed!
2011-02-28 20:41:53,433 [main] ERROR auditable.AuditLogListener - Unknown entity: org.codehaus.groovy.grails.plugins.orm.auditable.AuditLogEvent
2011-02-28 20:41:53,443 [main] ERROR context.ContextLoader - Context initialization failed
org.springframework.beans.factory.access.BootstrapException: Error executing bootstraps; nested exception is groovy.lang.MissingPropertyException: No such property: errors for class: org.codehaus.groovy.grails.plugins.orm.auditable.AuditLogEvent
at org.codehaus.groovy.grails.web.context.GrailsContextLoader.createWebApplicationContext(GrailsContextLoader.java:87)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4135)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4630)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:568)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1282)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:807)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445)
at org.apache.catalina.core.StandardService.start(StandardService.java:519)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: groovy.lang.MissingPropertyException: No such property: errors for class: org.codehaus.groovy.grails.plugins.orm.auditable.AuditLogEvent
at $Proxy16.saveOrUpdate(Unknown Source)
at BootStrap$_closure1.doCall(BootStrap.groovy:211)
at grails.util.Environment.evaluateEnvironmentSpecificBlock(Environment.java:251)
at grails.util.Environment.executeForEnvironment(Environment.java:244)
at grails.util.Environment.executeForCurrentEnvironment(Environment.java:220)