[ 
https://issues.apache.org/jira/browse/SOLR-1449?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Hoss Man updated SOLR-1449:
---------------------------

    Attachment: SOLR-1449.patch

Example of how this might work.  It provides support for "regex" based jar 
selectors in a specified directory (so we can point at jars w/o hardcoding 
version numbers all over the place) and leaves the door open to a simpler glob 
style syntax to be added later.

syntax...
{noformat}
  <!-- all jars in a directory -->
  <lib dir="../../dist/solr-cell-lib/" />
  <!-- any jar in the directory matching the regex -->
  <lib dir="../../dist/" regex="apache-solr-cell-(\d|\.)+-.*\.jar" />
{noformat}

Internally the parsing code is confined to SolrConfig.xml, but a new method has 
been added to SolrResourceLoader that repalces the ClassLoader with a new one 
where the parent is fixed on the previous classloader -- it seems a little 
sketchy, and i would have much rather had SOlrConfig use some new 
ClassLoaderUtils to build up a comprehensive ClassLoader and then provide it 
when constructing SolrResourceLoader -- expect SolrConfig doesn't get to 
construct SOlrResourceLoader.

The patch modifies the build.xml file just enough to demonstrate using the 
solr-cell libs into the example w/o copying them, but i didn't systematicly fix 
all the other palces we could use this.

I also didn't test the patch exhaustively.

Note: I've marked this issue as Fix for 1.4 to try and give it some visibility 
before the release since there seems to be some interest in getting the release 
size smaller -- but unless adequate eyeballs give it a thumbs up and help do 
some more rigerous testing i'm leary to try and inlcude it now.  (The term 
"Classloader Hell" exists for a reason -- the upside is i'm 95% sure that even 
if there winds up being a bug in the nested classloaders, anyone using the 
existing method (ie: copies their libs) should still work, since that code path 
should be the same.


> solrconfig.xml syntax to add classpath elements from outside of instanceDir
> ---------------------------------------------------------------------------
>
>                 Key: SOLR-1449
>                 URL: https://issues.apache.org/jira/browse/SOLR-1449
>             Project: Solr
>          Issue Type: Improvement
>            Reporter: Hoss Man
>             Fix For: 1.4
>
>         Attachments: SOLR-1449.patch
>
>
> the idea has been discussed numerous times that it would be nice if there was 
> a way to configure a core to load plugins from specific jars (or "classes" 
> style directories) by path  w/o needing to copy them to the "./lib" dir in 
> the instanceDir.
> The current workaround is "symlinks" but that doesn't really help the 
> situation of the Solr Release artifacts, where we wind up making numerous 
> copies of jars to support multiple example directories (you can't have 
> reliable symlinks in zip files)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to