从 Grails 2.4.4 升级到 Grails 2.5.0 时出现 grails.gorm.TestCriteriaBuilder 的问题
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 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,结果相同,我使用的是最新的 plastic criteria 插件,但它似乎不是这里的一个因素。有什么线索吗?
谢谢
我 运行 在将我的应用程序从 2.4.3 升级到 2.4.5 后执行单元测试时遇到相同的异常。我在 BuildConfig 中手动添加了测试范围的包:
runtime 'org.grails:grails-datastore-gorm:3.1.4.RELEASE'
并且有效。您可以根据您正在使用的 Grails 相应地更改版本。
我正在将 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,结果相同,我使用的是最新的 plastic criteria 插件,但它似乎不是这里的一个因素。有什么线索吗? 谢谢
我 运行 在将我的应用程序从 2.4.3 升级到 2.4.5 后执行单元测试时遇到相同的异常。我在 BuildConfig 中手动添加了测试范围的包:
runtime 'org.grails:grails-datastore-gorm:3.1.4.RELEASE'
并且有效。您可以根据您正在使用的 Grails 相应地更改版本。