[wildfly-dev] org.apache.httpcomponents.core requires org.apache.commons.codec

Sanne Grinovero sanne at hibernate.org
Mon Sep 3 07:30:25 EDT 2018


Hi all,

the Elasticsearch integration feature we have in Hibernate Search uses
the Apache httpcomponents module from WildFly.

In WildFly 14 we get:

Exception in thread "Hibernate Search: Elasticsearch transport
thread-2" java.lang.NoClassDefFoundError:
org/apache/commons/codec/binary/Base64
2018-09-03 11:58:13,120 ERROR [stderr] (Hibernate Search:
Elasticsearch transport thread-2)    at
org.apache.http.impl.auth.BasicScheme.authenticate(BasicScheme.java:168)
2018-09-03 11:58:13,120 ERROR [stderr] (Hibernate Search:
Elasticsearch transport thread-2)    at
org.apache.http.impl.auth.HttpAuthenticator.doAuth(HttpAuthenticator.java:239)
2018-09-03 11:58:13,120 ERROR [stderr] (Hibernate Search:
Elasticsearch transport thread-2)    at
org.apache.http.impl.auth.HttpAuthenticator.generateAuthResponse(HttpAuthenticator.java:218)
2018-09-03 11:58:13,120 ERROR [stderr] (Hibernate Search:
Elasticsearch transport thread-2)    at
org.apache.http.impl.nio.client.MainClientExec.generateRequest(MainClientExec.java:224)

Seems that the `org.apache.httpcomponents.core` is not declaring the
dependency on module `org.apache.commons.codec`.

One complexity is that the first one is included in WildFly core, the
second is only added by WildFly full.

I guess I could add an optional dependency, but I wonder if many more
users would expect the basic authentication scheme to work in WildFly
core? In that case you would probably prefer to include the codec in
WildFly Core.

I can try fixing this but would need to know which solution you all
prefer. Also, not sure about the severity: definitely bad for
Hibernate Search users, but I don't know which other components might
be using this module.

Created: https://issues.jboss.org/browse/WFCORE-4083

Thanks,
Sanne


More information about the wildfly-dev mailing list