I have my custom Tokenizer and TokenizerFactory in a jar,
and I've been putting it in example/lib/ext. and it's been
working fine with Solr 1.3. 

This jar uses SLF4J as a logging API, and I had the SLF4J jars
in the same place, example/lib/ext.

Because Solr 1.4 uses SLF4J too and have it builtin,
I thought I wouldn't need to have another set of the
same jars, I removed them from example/lib/ext.  Then,
when my TokenizerFactory is run, I've got a
NoClassDefFoundError error.

This error can be fixed by putting another set of SLF4J jars
in example/lib/ext, but I don't understand why.
After all, my jar can access Lucene and Solr APIs whose
jars resides elsewhere than example/lib/ext.  Why only
SLF4J jars must be duplicated and exist in example/lib/ext?
Why SLF4J jars are special? Is this somethng to do
with the fact that SLF4J jars are needed at the static
initialization time? What is the correct place to put
my Tokenizer(Filter) jars?

-kuro 

Reply via email to