Skip to content

commons-text NoSuchMethod due to version conflict #292

@olwett

Description

@olwett

I get this Exception in Obevo 8.2.1. Version 8.0.0 is working

java.lang.NoSuchMethodError: org.apache.commons.text.lookup.StringLookupFactory.base64DecoderStringLookup()Lorg/apache/commons/text/lookup/StringLookup;

at org.apache.commons.configuration2.interpol.DefaultLookups.<clinit>(DefaultLookups.java:68)
at org.apache.commons.configuration2.interpol.ConfigurationInterpolator.<clinit>(ConfigurationInterpolator.java:111)
at org.apache.commons.configuration2.convert.DefaultConversionHandler.<clinit>(DefaultConversionHandler.java:72)
at org.apache.commons.configuration2.beanutils.DefaultBeanFactory.<init>(DefaultBeanFactory.java:84)
at org.apache.commons.configuration2.beanutils.DefaultBeanFactory.<init>(DefaultBeanFactory.java:71)
at org.apache.commons.configuration2.beanutils.DefaultBeanFactory.<clinit>(DefaultBeanFactory.java:56)
at org.apache.commons.configuration2.beanutils.BeanHelper.<init>(BeanHelper.java:118)
at org.apache.commons.configuration2.beanutils.BeanHelper.<init>(BeanHelper.java:106)
at org.apache.commons.configuration2.beanutils.BeanHelper.<clinit>(BeanHelper.java:80)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:315)
at com.sun.proxy.$Proxy45.<clinit>(Unknown Source)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at java.base/java.lang.reflect.Proxy.newProxyInstance(Proxy.java:1022)
at java.base/java.lang.reflect.Proxy.newProxyInstance(Proxy.java:1008)
at org.apache.commons.configuration2.builder.fluent.Parameters.createParametersProxy(Parameters.java:306)
at org.apache.commons.configuration2.builder.fluent.Parameters.hierarchical(Parameters.java:220)
at com.gs.obevo.api.factory.PlatformConfigReader.loadPropertiesFromUrl(PlatformConfigReader.java:182)
at com.gs.obevo.api.factory.PlatformConfigReader.readConfigPackages(PlatformConfigReader.java:112)
at com.gs.obevo.api.factory.PlatformConfigReader.readPlatformProperties(PlatformConfigReader.java:58)
at com.gs.obevo.api.factory.PlatformConfiguration.<init>(PlatformConfiguration.java:51)
at com.gs.obevo.api.factory.PlatformConfiguration.<clinit>(PlatformConfiguration.java:38)
at com.gs.obevo.api.appdata.Environment.<init>(Environment.java:62)
at com.gs.obevo.db.api.appdata.DbEnvironment.<init>(DbEnvironment.java:71)

The cause seems to be that commons-text is ommited as a transitive dependency of commons-configuration2 because of conflict with commons-text which org.jgrapht dependes on. From maven dependency:tree:
[INFO] +- com.goldmansachs.obevo:obevo-core:jar:8.2.1:compile
[INFO] | +- (org.slf4j:slf4j-api:jar:1.7.18:compile - omitted for conflict with 1.7.30)
[INFO] | +- org.jetbrains.kotlin:kotlin-stdlib:jar:1.3.61:compile
[INFO] | | +- org.jetbrains.kotlin:kotlin-stdlib-common:jar:1.3.61:compile
[INFO] | | - org.jetbrains:annotations:jar:13.0:compile
[INFO] | +- org.jetbrains.kotlin:kotlin-stdlib-jdk8:jar:1.3.61:compile
[INFO] | | +- (org.jetbrains.kotlin:kotlin-stdlib:jar:1.3.61:compile - omitted for duplicate)
[INFO] | | - org.jetbrains.kotlin:kotlin-stdlib-jdk7:jar:1.3.61:compile
[INFO] | | - (org.jetbrains.kotlin:kotlin-stdlib:jar:1.3.61:compile - omitted for duplicate)
[INFO] | +- org.jgrapht:jgrapht-core:jar:1.3.0:compile
[INFO] | | - org.jheaps:jheaps:jar:0.9:compile
[INFO] | +- org.jgrapht:jgrapht-io:jar:1.3.0:compile
[INFO] | | +- (org.jgrapht:jgrapht-core:jar:1.3.0:compile - omitted for duplicate)
[INFO] | | - org.apache.commons:commons-text:jar:1.5:compile
[INFO] | | - (org.apache.commons:commons-lang3:jar:3.8.1:compile - omitted for conflict with 3.9)
[INFO] | +- commons-io:commons-io:jar:2.0:compile
[INFO] | +- com.google.code.cli-parser:cli:jar:7:compile
[INFO] | +- org.apache.commons:commons-configuration2:jar:2.7:compile
[INFO] | | +- (org.apache.commons:commons-lang3:jar:3.9:compile - omitted for conflict with 3.1)
[INFO] | | - (org.apache.commons:commons-text:jar:1.8:compile - omitted for conflict with 1.5)
[INFO] | +- (commons-beanutils:commons-beanutils:jar:1.9.4:compile - scope updated from runtime; omitted for duplicate)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions