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