I struggled to run Solr in Tomcat 5.5 (or 6.0 for that matter). Then I found a step-by-step instruction at http://wiki.apache.org/solr/SolrTomcat and followed it as much as possible (wget URL didn't work, so I had to download using browser). Then Solr worked.
An important factor in the instruction is that Tomcat must be started from the directory under which the solr directory (copied from the exmaple) exists. That is, Solr runs only if Tomcat is invoked as: $ ./apache-tomcat-5.5.20/bin/startup.sh It doesn't if Tomcat is invoked like this: $ cd ./apache-tomcat-5.5.20/bin $ startup.sh Where is this restriction come from? This restriction seems problematic because solr can't be run with another webapp with a similar restriction in the same app server. Has anybody explored to get rid of this restriction? Another thing I don't understand is why Tomcat shows NoClassDefFoundError when the solr directory cannot be found in the current working directory. There is no class files or jar files under the solr directory, so I don't understand why putting the solr directory can remove this NoClassDefFoundError. (I wasted good hours trying to figure out what classes are missing and why.) -kuro