kaleidos / grails-postgresql-extensions

Grails plugin to use postgresql native elements such as arrays, hstores,...
Apache License 2.0
78 stars 63 forks source link

java.lang.NoClassDefFoundError: org/apache/commons/lang/ObjectUtils #128

Open abcfy2 opened 3 years ago

abcfy2 commented 3 years ago

Grails 4.0.5 will raise this exception:

        at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:130)
        at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
        at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
        at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:249)
        at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:78)
        at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:99)
        at io.undertow.server.Connectors.executeRootHandler(Connectors.java:376)
        at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:830)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/lang/ObjectUtils
        at net.kaleidos.hibernate.usertype.JsonMapType.equals(JsonMapType.groovy:38)
        at org.hibernate.type.CustomType.isEqual(CustomType.java:105)
        at org.hibernate.type.AbstractType.isSame(AbstractType.java:119)
        at org.hibernate.type.AbstractType.isDirty(AbstractType.java:79)
        at org.hibernate.type.CustomType.isDirty(CustomType.java:249)
        at org.hibernate.type.TypeHelper.findDirty(TypeHelper.java:316)
        at org.hibernate.persister.entity.AbstractEntityPersister.findDirty(AbstractEntityPersister.java:4614)
        at org.grails.orm.hibernate.HibernateGormInstanceApi.findDirty(HibernateGormInstanceApi.groovy:73)
        at org.grails.orm.hibernate.HibernateGormInstanceApi.isDirty(HibernateGormInstanceApi.groovy:61)
        at org.grails.datastore.gorm.GormEntity$Trait$Helper.isDirty(GormEntity.groovy:211)

https://github.com/kaleidos/grails-postgresql-extensions/blob/c52b0ffd08b799b0d92afae16247bee38e0415a2/src/main/groovy/net/kaleidos/hibernate/usertype/JsonMapType.groovy#L38

Seems that this extension still use the old version of apache-common('commons-lang:commons-lang:2.6'), but grails 4 bump the version to commons-lang3:3.8. So I think you should upgradle the apache-common dependencies.