[ 
https://issues.apache.org/jira/browse/SOLR-3760?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13455683#comment-13455683
 ] 

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 jar.

However! 

* 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: https://issues.apache.org/jira/browse/SOLR-3760
>             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: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to