lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael McCandless (Commented) (JIRA)" <>
Subject [jira] [Commented] (SOLR-3204) solr-commons-csv must not use the org.apache.commons.csv package
Date Wed, 07 Mar 2012 13:47:00 GMT


Michael McCandless commented on SOLR-3204:

There are two very different issues mixed in here:

Issue 1: a private, internal dependency in Solr on commons-csv (and
others) has become "publicly released" in Maven as solr-commons-csv.
I know very little about Maven, but this does sound bad.  That said, I
don't think Maven has any right to "peek in" and force Solr's private
dependencies to become public; what deps Solr uses is an
implementation detail of Solr. Short of removing Solr from Maven, is
there some way to publish Solr's WAR through Maven while keeping (some
of?) its dependencies private?

Issue 2: JAR hell (runtime CLASSPATH pollution): this is an age old,
widespread issue, completely orthogonal to Maven.  Regardless of how a
project builds its artifacts, if it has external dependencies, it will
of course "pollute" the CLASSPATH.  This is a well known problem.

Really, we should open a new issue for issue 2: it has nothing to do
with Maven and is long-standing (our ant-produced artifacts have had
the issue forever).  In practice, this has never seemed to be a
problem to users, presumably because users don't usually embed Solr.
Normally users deploy the WAR and use as-is, except for plugins.  If
we really think this needs to be fixed (I'm doubtful), there are
various options... eg OSGI seems to "solve" this, but adds complexity.
Jarjar, minijar, ant replace, are also options, but I don't like the
risk of hard-to-explain bugs.  We can discuss on a separate issue...

> solr-commons-csv must not use the org.apache.commons.csv package
> ----------------------------------------------------------------
>                 Key: SOLR-3204
>                 URL:
>             Project: Solr
>          Issue Type: Bug
>          Components: Build
>    Affects Versions: 3.5
>            Reporter: Emmanuel Bourg
>            Priority: Blocker
>             Fix For: 3.6
>         Attachments: SOLR-3204.patch, solr-csv.patch
> The solr-commons-csv artifact reused the code from the Apache Commons CSV project but
the package wasn't changed to something else than org.apache.commons.csv in the process. This
creates a compatibility issue as the Apache Commons team works toward an official release
of Commons CSV. It prevents Commons CSV from using its own org.apache.commons.csv package,
or forces the renaming of all the classes to avoid a classpath conflict.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message