Actually, I meant to say I have my Tokenizer jars in solr/lib. I have the jars that my Tokenizer jars depend in lib/ext, as I wanted them to be loaded only once per container due to their internal description. Bad idea?
-kuro > From: Teruhiko Kurosaka > Sent: Wednesday, October 14, 2009 4:28 PM > To: solr-user@lucene.apache.org > Subject: Right place to put my Tokenizer jars > > 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 >