phoenix-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Josh Elser <els...@apache.org>
Subject Re: slf4j class files in phoenix-5.0.0-HBase-2.0-client.jar
Date Fri, 28 Dec 2018 16:58:36 GMT
If memory serves me correctly, no, you can't shade+relocate logging
classes. The way that log4j/slf4j "find" the logging classes breaks
down when you do this.

However, if I'm wrong as I very well could be, shading could be an
effective solution to this.

Alternatively, we could generate an artifact which does not provide
logging classes; however, I think we'd need to consider the burden in
creating, maintaining, and distributing an extra jar just to remove an
slf4j warning (unless Liang's problem extends beyond that -- not sure)

On Sat, Dec 22, 2018 at 10:39 PM Miles Spielberg <miles@box.com> wrote:
>
> Could the classes be shaded into a different package to prevent conflicts with libraries
included by applications? HBase client has been doing this for a while: https://www.i-programmer.info/news/197-data-mining/11427-hbase-14-with-new-shaded-client.html
>
> Sent from my iPhone
>
> On Dec 22, 2018, at 9:25 AM, Josh Elser <elserj@apache.org> wrote:
>
> This is as expected. JDBC expects that a database driver provide all of its dependencies
in a single jar file.
>
> On Mon, Dec 17, 2018 at 4:39 PM Liang Zhao <lzhao@casa-systems.com> wrote:
>>
>> Hi,
>>
>>
>>
>> We found slf4j class files in your phoenix-5.0.0-HBase-2.0-client.jar, which caused
multiple binding of slf4j as the Spring Boot in our project uses a different version. We can
work around this, but conventionally, a jar file only need to name its transitive dependencies,
instead of including them.
>>
>>
>>
>> The same problem is seen in phoenix-4.14.0-HBase-1.4-client.jar.
>>
>>
>>
>> Thanks
>>
>>
>>
>> Liang
>>
>>
>>
>> <image001.png>
>>
>>

Mime
View raw message