Shawn Heisey created SOLR-7771:
----------------------------------

             Summary: Classloader problem with "solr.XXX" class names and jars 
in SOLR_HOME/lib
                 Key: SOLR-7771
                 URL: https://issues.apache.org/jira/browse/SOLR-7771
             Project: Solr
          Issue Type: Bug
    Affects Versions: 5.2.1
         Environment: C:\Users\elyograg\Downloads\solr-5.2.1>java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
            Reporter: Shawn Heisey


Jars placed in SOLR_HOME/lib seem to be loaded twice, which causes problems 
trying to use solr.XXXXXX class names in schema.xml.

If the full class name is used, it works.

Steps to recreate on an extracted Solr 5.2.1 download.  This was done on 
Windows, so I used backslashes as path separators:

{noformat}
bin\solr start
bin\solr create -c foo -d sample_techproducts_configs
bin\solr stop -all
{noformat}

Add the following to server\foo\conf\schema.xml, just before the </schema> end 
tag:

{noformat}
    <fieldType name="icu_test" class="solr.TextField">
      <analyzer> 
        <tokenizer class="solr.ICUTokenizerFactory"/>
      </analyzer>
    </fieldType>
{noformat}

Create a new directory -- server\solr\lib.
Copy icu4j-54.1.jar and lucene-analyzers-icu-5.2.1.jar from 
contrib\analysis-extras to server\solr\lib.

{noformat}
bin\solr start
{noformat}

Note an exception in the logging tab:
java.lang.NoClassDefFoundError: 
org/apache/lucene/analysis/icu/segmentation/ICUTokenizer

At this point, if the class name is changed from solr.ICUTokenizerFactory to 
org.apache.lucene.analysis.icu.segmentation.ICUTokenizerFactory and solr is 
stopped and started, then everything is OK.




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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

Reply via email to