grails - Maven无法构建Grails项目-AsyncException,RegexSupport?

标签 grails maven build

我正在使用Maven构建Grails 1.3.7项目。它在我的机器上构建,但是在构建服务器上,我收到AsyncException,这对我没有任何意义:

[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
]}

知道是什么原因造成的吗?我什么也没得到,但是我的机器和构建服务器之间的区别是构建服务器使用IBM JDK(WAS 6.1 JDK)。

我试图通过指向IBM JDK在我的机器上重现此错误,但是我唯一能找到的是Java 6 JDK,而构建服务器的JDK是1.5.0。

最佳答案

这是我们添加到BuildConfig.groovy中的丑陋hack,以解决IBM JDK的问题。

// IBM JDK Bug workaround
this.getClass().getClassLoader().loadClass("org.codehaus.groovy.runtime.RegexSupport")
this.getClass().getClassLoader().loadClass("org.codehaus.groovy.runtime.DefaultGroovyMethods")

我确实有机会使用WAS 7 / Java 1.6测试我们的一个应用程序,而删除该变通方法时却没有遇到问题。

关于grails - Maven无法构建Grails项目-AsyncException,RegexSupport?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8173503/

相关文章:

grails - 连接到ActiveMQ表单grails

spring - 异步添加 Spring bean

java - 基于 POJO 生成 EJB3 带注释的 Bean

maven - 相当于 mvn clean verify 的 Gradle

Android 构建和混淆库项目

hibernate - Grails:从其他服务方法调用服务方法时出现问题

grails - 整数枚举和g:select

java - 没有 Maven 的 Drools Kie 应用程序

Java 应用程序读取 UTF-8 编码的文本文件,但在 ant build 之后字符不符合预期

javascript - 使用 ES6 模块的 TypeScript 的最佳方法是什么?