lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lance Norskog (JIRA)" <>
Subject [jira] [Commented] (SOLR-3760) Build packaging of complex contrib packages just plain does not work
Date Fri, 14 Sep 2012 09:11:07 GMT


Lance Norskog commented on SOLR-3760:

A more detailed explanation of the problem:

* lucene/analysis/X code in a jar.
* Lucene jar depends on third-party jar.
* lucene/analysis/X/ivy.xml downloads third-party jar.
* lucene/analysis/X build works.
* Solr factory in contrib/X depends on Lucene jar which depends on third-party jar.
* Third-party jar is downloaded in Solr contrib/X/ivy.xml
** Thus, contrib/X build works because classpath is factory->lucene jar->third-party


* Lucene jar is packed into Solr war.
* Lucene third-party jar is not packed into Solr war.
* Solr factory jar is not packed into Solr war.
* example/solr/collection1/conf/solrconfig.xml refers to
** ....../contrib/X/lib
** ....../dist/apache-solr-X-.....
*** both are in the same classloader- order of <lib> declarations is not a problem.
* solrconfig.xml classloader can find Solr factory in apache-solr-X-.....jar
* Solr factory classloader supplied by solrconfig.xml can find lucene jar in solr.war
* Lucene jar uses solr.war classloader
** solr.war classloader cannot see third-party jar
** _solr/contrib/X factory for lucene/analysis/X fails to load_

(I think I got that right.)
> Build packaging of complex contrib packages just plain does not work
> --------------------------------------------------------------------
>                 Key: SOLR-3760
>                 URL:
>             Project: Solr
>          Issue Type: Improvement
>          Components: Build
>            Reporter: Lance Norskog
> The build system packages Lucene libraries in the Solr war, but they do not pack libraries
required by the Lucene libraries. The UIMA and analysis-extras contrib packages have factories
for the Lucene libraries.
> The net effect is that when solrconfig.xml include <lib> directives for dist/xxx-contribX-xxx.jar
and solr/contrib/contribX/lib, this fails because the lucene analyzer file inside the solr
war cannot find the library files in solr/contrib/contribX/lib because the classloader for
the war does not find the libraries from the <lib> directives.
> Two alternative fixes are presented below.

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

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

View raw message