I’m using Maven to build a Grails 1.3.7 project. It builds on my machine, but on the build server I get an AsyncException, which doesn’t mean anything to me:
[INFO] [grails:maven-grails-app-war]
[INFO] Using Grails 1.3.7
AsyncException{concurrentExceptions=[
java.lang.NoClassDefFoundError: org.codehaus.groovy.runtime.RegexSupport
]}
at groovyx.gpars.AsyncInvokerUtil.eachParallel(AsyncInvokerUtil.groovy:106)
at grails.util.BuildSettings$_configureDependencyManager_closure6.doCall(BuildSettings.groovy:784)
at groovyx.gpars.Asynchronizer$_withExistingAsynchronizer_closure2.doCall(Asynchronizer.groovy:262)
at groovyx.gpars.Asynchronizer$_withExistingAsynchronizer_closure2.doCall(Asynchronizer.groovy)
at groovyx.gpars.Asynchronizer.withExistingAsynchronizer(Asynchronizer.groovy:261)
at groovyx.gpars.Asynchronizer$withExistingAsynchronizer.callStatic(Unknown Source)
at groovyx.gpars.Asynchronizer.doParallel(Asynchronizer.groovy:157)
at groovyx.gpars.Asynchronizer$doParallel$0.callStatic(Unknown Source)
at groovyx.gpars.Asynchronizer.doParallel(Asynchronizer.groovy:131)
at groovyx.gpars.Asynchronizer$doParallel.call(Unknown Source)
at grails.util.BuildSettings.configureDependencyManager(BuildSettings.groovy:782)
at grails.util.BuildSettings$configureDependencyManager.callCurrent(Unknown Source)
at grails.util.BuildSettings.postLoadConfig(BuildSettings.groovy:682)
at grails.util.BuildSettings.loadConfig(BuildSettings.groovy:671)
at grails.util.BuildSettings$loadConfig$0.callCurrent(Unknown Source)
at grails.util.BuildSettings.loadConfig(BuildSettings.groovy:653)
at grails.util.BuildSettings$loadConfig.callCurrent(Unknown Source)
at grails.util.BuildSettings.loadConfig(BuildSettings.groovy:630)
at org.grails.maven.plugin.AbstractGrailsMojo.runGrails(AbstractGrailsMojo.java:286)
at org.grails.maven.plugin.MvnWarMojo.execute(MvnWarMojo.java:49)
at org.grails.maven.plugin.MvnGrailsAppWarMojo.execute(MvnGrailsAppWarMojo.java:53)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:447)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:539)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:480)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:459)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:311)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:278)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:143)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:333)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:126)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:282)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
WARNING: There was an error loading the BuildConfig: Some asynchronous operations failed.
[java.lang.NoClassDefFoundError: org.codehaus.groovy.runtime.RegexSupport]
AsyncException{concurrentExceptions=[
java.lang.NoClassDefFoundError: org.codehaus.groovy.runtime.RegexSupport
]}
Any idea what could cause this? I got nothing, but one difference between my machine and the build server is the build server uses the IBM JDK (WAS 6.1 JDK).
I’ve tried to reproduce this on my machine by pointing to an IBM JDK, but the only one I could find was a Java 6 JDK, and the build server’s JDK is 1.5.0.
Here is the ugly hack we added to BuildConfig.groovy to get around the issue with the IBM JDK.
I did get a chance to test out one of our apps with WAS 7/Java 1.6 and I did not encounter the problem when I removed that work around.