NoClassDefFoundError: org/grails/compiler/gorm/GormEntityTransformation

В настоящее время я обновляю довольно большое приложение на mongodb:5.0.1.RELEASE с mongodb:3.0.2 и получаю следующее исключение при попытке grails package

Caused by: java.lang.NoClassDefFoundError: org/grails/compiler/gorm/GormEntityTransformation
    at org.codehaus.groovy.grails.compiler.gorm.GormTransformer.performInjection(GormTransformer.java:69)
    at org.codehaus.groovy.grails.compiler.gorm.GormTransformer.performInjectionOnAnnotatedClass(GormTransformer.java:78)
    at org.codehaus.groovy.grails.compiler.gorm.GormTransformer.performInjection(GormTransformer.java:61)

Я следовал этим инструкциям по использованию нового плагина mongodb: http://grails.github.io/grails-data-mapping/latest/mongodb/manual/guide/gettingStarted.html

Моя среда:

  • ОС: Windows 7
  • JVM: 1.8.0_66
  • Грааль: 2.5.3
  • Groovy: 2.4.4

Я создал новый / чистый проект с использованием Grails 2.5.3 и обновил его до новой версии плагина mongodb, и он отлично работал, поэтому я знаю, что проблема где-то с моей конфигурацией, но у меня не хватает мест для смотреть.

Моя конфигурация сборки:

dependencies {
    runtime 'org.springframework.data:spring-data-mongodb:1.8.1.RELEASE'

    compile "net.sf.ehcache:ehcache-core:2.4.8"

    test "org.gebish:geb-spock:$gebVersion"

    test "org.seleniumhq.selenium:selenium-firefox-driver:$seleniumVersion"
    test "org.seleniumhq.selenium:selenium-chrome-driver:$seleniumVersion"
    test "org.seleniumhq.selenium:selenium-ie-driver:$seleniumVersion"
    test "org.seleniumhq.selenium:selenium-support:$seleniumVersion"
    test("org.seleniumhq.selenium:selenium-htmlunit-driver:$seleniumVersion") { exclude 'xml-apis' }

    build 'org.apache.httpcomponents:httpcore:4.3.2'
    build 'org.apache.httpcomponents:httpclient:4.3.2'
    runtime 'org.apache.httpcomponents:httpcore:4.3.2'
    runtime 'org.apache.httpcomponents:httpclient:4.3.2'

    compile 'org.apache.poi:poi:3.11'
    compile 'org.apache.poi:poi-ooxml:3.11'
    compile 'org.apache.poi:poi-ooxml-schemas:3.11'
    compile 'org.apache.poi:ooxml-schemas:1.1'

    compile "com.sun.jersey:jersey-bundle:1.6"

    compile 'org.codehaus.groovy.modules.http-builder:http-builder:0.7.1'
    runtime 'xml-apis:xml-apis:1.4.01'

    compile 'org.apache.httpcomponents:httpmime:4.3.3'

    test 'org.powermock:powermock-api-mockito:1.6.2'

    compile 'org.apache.commons:commons-lang3:3.4'
}

plugins {
    build ":tomcat:7.0.55"

    compile ":scaffolding:2.1.2"
    compile ':cache:1.1.8'
    compile ":asset-pipeline:1.9.9"
    compile ":less-asset-pipeline:1.10.0"

    runtime ":database-migration:1.4.0"
    runtime ":jquery:1.11.1"
    runtime ':aws-sdk:1.9.22'

    compile(":mongodb:5.0.1.RELEASE");

    compile ":spring-security-core:2.0-RC4"
    compile ":fields:1.4"
    compile ":mail:1.0.7"

    compile ":phonenumbers:0.10"

    test "org.grails.plugins:geb:$gebVersion"
}

1 ответ

Решение

Я нашел это. Мне нужно было также обновить GORM, а не просто плагин gorm mongodb. Это помогло мне справиться с проблемой.

dependencies {
    ...
    compile org.grails:grails-datastore-gorm:5.0.1.RELEASE'
    ...
}
Другие вопросы по тегам