2017-10-29 1 views
0

나는이 프로젝트를 grails 2.3.9로 업그레이드했다.이 프로젝트를 grails 2.5.6, java 8로 업그레이드했다. 성공적으로 업그레이드했지만 테스트 케이스에서 오류가 발생했다. (grails test-app)Grails NoClassDefFoundError BuildableCriteria in run 테스트 중

java.lang.NoClassDefFoundError: org/grails/datastore/mapping/query/api/BuildableCriteria 
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) 
    at java.lang.Class.privateGetPublicMethods(Class.java:2902) 
    at java.lang.Class.getMethods(Class.java:1615) 
    at java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1336) 
    at java.beans.Introspector.getTargetMethodInfo(Introspector.java:1197) 
    at java.beans.Introspector.getBeanInfo(Introspector.java:426) 
    at java.beans.Introspector.getBeanInfo(Introspector.java:173) 
    at grails.test.mixin.domain.TestGormEnhancer.getStaticApi(DomainClassUnitTestMixin.groovy:188) 
    at org.grails.datastore.gorm.GormEnhancer.addStaticMethods(GormEnhancer.groovy:118) 
    at org.grails.datastore.gorm.GormEnhancer.enhance(GormEnhancer.groovy:112) 
    at org.grails.datastore.gorm.GormEnhancer.enhance(GormEnhancer.groovy:95) 
    at grails.test.mixin.domain.DomainClassUnitTestMixin.mockDomains(DomainClassUnitTestMixin.groovy:99) 
    at org.spockframework.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:153) 
    at org.spockframework.runtime.model.MethodInfo.invoke(MethodInfo.java:84) 
    at org.spockframework.runtime.extension.MethodInvocation.proceed(MethodInvocation.java:88) 
    at org.spockframework.runtime.extension.builtin.AbstractRuleInterceptor$1.evaluate(AbstractRuleInterceptor.java:37) 
    at grails.test.runtime.TestRuntimeJunitAdapter$1$2.evaluate(TestRuntimeJunitAdapter.groovy:49) 
    at org.spockframework.runtime.extension.builtin.TestRuleInterceptor.intercept(TestRuleInterceptor.java:38) 
    at org.spockframework.runtime.extension.MethodInvocation.proceed(MethodInvocation.java:87) 
    at org.spockframework.runtime.extension.MethodInvocation.proceed(MethodInvocation.java:88) 
    at org.spockframework.runtime.extension.builtin.AbstractRuleInterceptor$1.evaluate(AbstractRuleInterceptor.java:37) 
    at grails.test.runtime.TestRuntimeJunitAdapter$3$4.evaluate(TestRuntimeJunitAdapter.groovy:76) 
    at org.spockframework.runtime.extension.builtin.ClassRuleInterceptor.intercept(ClassRuleInterceptor.java:38) 
    at org.spockframework.runtime.extension.MethodInvocation.proceed(MethodInvocation.java:87) 
Caused by: java.lang.ClassNotFoundException: org.grails.datastore.mapping.query.api.BuildableCriteria 
    at org.codehaus.groovy.tools.RootLoader.findClass(RootLoader.java:179) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at org.codehaus.groovy.tools.RootLoader.loadClass(RootLoader.java:151) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 

또한 데이터 저장소 테스트 지원에 의존하지만 점점 같은 문제를 추가 : 테스트 "org.grails을 : Grails에-데이터 저장소 테스트 지원을 : 1.0 - Grails의-2.4" 그것은 잘 작동했다 grails 포함 2.3.9

여기를 도와주세요.

감사합니다.

답변

0

org.grails.datastore.mapping.query.api.BuildableCriteria 인터페이스는 기본적으로 org.grails.plugins:hibernate4:4.3.10 플러그인의 전 이적 종속성으로 Grails 2.5.6에 포함될 grails-datastore-core-3.1.5.RELEASE.jar에 포함되어 있습니다. 나는 당신이 당신의 BuildConfig.groovy에서 그 것에 대한 의존성을 표명했음을 증명할 것입니다.

grails.project.dependency.resolution = { 
    // ... 
    plugins { 
     // ... 
     runtime ":hibernate4:4.3.10" 
     // ... 
    } 
} 
+0

위의 솔루션은 당신이 물론 최대 절전 모드를 사용한다고 가정합니다. 다른 GORM 구현을 사용하고 있다면 어떤 플러그인을 사용하는지에 따라 다릅니다. –

관련 문제