【问题标题】:Problems with grails.gorm.TestCriteriaBuilder when upgrading from Grails 2.4.4 to Grails 2.5.0从 Grails 2.4.4 升级到 Grails 2.5.0 时 grails.gorm.TestCriteriaBuilder 的问题
【发布时间】:2015-09-10 23:59:31
【问题描述】:

我正在将一个 Grails 2.4.4 应用程序升级到 Grails 2.5.0,我在之前编写的测试中遇到了一些问题。应用程序本身运行良好,但是当我运行“grails test-app”时,我多次收到以下异常:

java.lang.NoClassDefFoundError: grails/gorm/TestCriteriaBuilder
at grails.test.mixin.domain.TestGormStaticApi.createCriteria(DomainClassUnitTestMixin.groovy:199)
at org.grails.datastore.gorm.validation.constraints.UniqueConstraint.processValidate_closure1(UniqueConstraint.groovy:69)
at org.grails.datastore.gorm.validation.constraints.UniqueConstraint.withManualFlushMode_closure2(UniqueConstraint.groovy:109)
at org.grails.datastore.gorm.GormStaticApi.withSession_closure22(GormStaticApi.groovy:687)
at org.grails.datastore.mapping.core.DatastoreUtils.execute(DatastoreUtils.java:302)
at org.grails.datastore.gorm.AbstractDatastoreApi.execute(AbstractDatastoreApi.groovy:37)
at org.grails.datastore.gorm.GormStaticApi.withSession(GormStaticApi.groovy:686)
at org.grails.datastore.gorm.validation.constraints.UniqueConstraint.withManualFlushMode(UniqueConstraint.groovy:104)
at org.grails.datastore.gorm.validation.constraints.UniqueConstraint.processValidate(UniqueConstraint.groovy:39)
at org.grails.datastore.gorm.GormValidationApi.doValidate(GormValidationApi.groovy:64)
at org.grails.datastore.gorm.GormValidationApi.validate(GormValidationApi.groovy:145)
at org.grails.datastore.gorm.GormInstanceApi.doSave(GormInstanceApi.groovy:172)
at org.grails.datastore.gorm.GormInstanceApi.save_closure5(GormInstanceApi.groovy:162)
at org.grails.datastore.mapping.core.DatastoreUtils.execute(DatastoreUtils.java:302)
at org.grails.datastore.gorm.AbstractDatastoreApi.execute(AbstractDatastoreApi.groovy:37)
at org.grails.datastore.gorm.GormInstanceApi.save(GormInstanceApi.groovy:161)
at org.grails.datastore.gorm.GormInstanceApi.save(GormInstanceApi.groovy:101)

尝试清理和重建但没有成功。我也尝试升级到 2.4.5,结果相同,我使用的是最新的塑料标准插件,但这似乎不是一个因素。有什么线索吗? 谢谢

【问题讨论】:

    标签: grails upgrade


    【解决方案1】:

    我在将应用程序从 2.4.3 升级到 2.4.5 后执行单元测试时遇到了同样的异常。我在 BuildConfig 中手动添加了带有测试范围的包:

    runtime 'org.grails:grails-datastore-gorm:3.1.4.RELEASE'
    

    而且它有效。您可以根据您使用的 Grails 更改版本。

    【讨论】:

    • 只是添加:我只需要将范围从测试更改为编译,否则在运行应用程序时会出现相同的错误
    • @dttz 是的,我发现了这个问题,所以最后我将其更改为运行时。我没有使用 compile 因为它已经在 grails lib 中。用户需要显式添加它有点奇怪。
    • 同意 alex Lai,我什至不能使用这个解决方案,因为它说它在 grailsCentral 中找不到。这不应该是核心库吗?
    猜你喜欢
    • 2014-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多