tika-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nick Burch (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (TIKA-2556) org.json package clash
Date Fri, 26 Jan 2018 15:28:00 GMT

    [ https://issues.apache.org/jira/browse/TIKA-2556?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16341155#comment-16341155

Nick Burch commented on TIKA-2556:

IIRC the package name was left un-changed to prevent the need to update the code everywhere,
including in upstream libraries that Tika uses

If you are happy with the License terms of the old jar, you can exclude the Ted Dunning replacement
when you add your dependency to Tika. If you, like us, have issues with the old json jar,
then you should exclude that from your dependencies and have the Ted Dunning version work
without issues as a transparent drop-in replacement

> org.json package clash
> ----------------------
>                 Key: TIKA-2556
>                 URL: https://issues.apache.org/jira/browse/TIKA-2556
>             Project: Tika
>          Issue Type: Improvement
>          Components: parser
>    Affects Versions: 1.17
>            Reporter: Andrei Rebegea
>            Priority: Major
> Hello dear tika contributors.
> In version 1.16, the dependency of org.json:json (https://mvnrepository.com/artifact/org.json/json/20140107)
> was replaced with com.tdunning:json (https://mvnrepository.com/artifact/com.tdunning/json/1.8)
> as part of TIKA-1804.
> I read and understand the reasons. 
> The problem I see is that the package org.json is reused in the replacement lib (com.tdunning)
therefore creating really ugly runtime problems for any application that might use the old
org.json lib ( Douglas Crockford ) either directly or indirectly (And please note that there
are still a lot of libraries that use that lib: https://mvnrepository.com/artifact/org.json/json/usages)
> *What is tika's recommendation for these kind of projects that have to(for various reasons)
use directly or indirectly(brought in by another lib) that old org.json:json lib?*
> This topic has been discussed here also :  https://github.com/tdunning/open-json/issues/11
> As you can see other people have this problem.
> They forked and released an alternative version, that is identical in functionality,
but uses a different package name : https://github.com/openjson/openjson -> https://mvnrepository.com/artifact/com.github.openjson/openjson
> *Is there any plan to switch to the cleaner ("jar hell" free) implementation of json?*
> Thank you!
> I raised this as an improvement, as I think that is what needs to happen: move to the
forked lib version to avoid package name collisions.

This message was sent by Atlassian JIRA

View raw message