Hi, I am trying to define a custom FieldType for SOLR 1.4.1.
To this end, I created the JAR file TestType.jar, I added a lib path in solrconfig.xml so that this JAR file as well as apache-solr-core-1.4.1.jar and lucene-core-2.9.3.jar are included. I then edited schema.xml and defined my new type: <fieldType name="myloc" class="afg.TestType" sortMissingLast="true" omitNorms="true"/> Starting up SOLR, I see that my classes have been loaded successfully: INFO: Adding 'file:/home/steffis/solr/apache-solr-1.4.1/my_jars/lucene-core-2.9.3.jar' to classloader Nov 23, 2010 5:26:27 PM org.apache.solr.core.SolrResourceLoader replaceClassLoader INFO: Adding 'file:/home/steffis/solr/apache-solr-1.4.1/my_jars/TestType.jar' to classloader Nov 23, 2010 5:26:27 PM org.apache.solr.core.SolrResourceLoader replaceClassLoader INFO: Adding 'file:/home/steffis/solr/apache-solr-1.4.1/my_jars/META-INF/' to classloader Nov 23, 2010 5:26:27 PM org.apache.solr.core.SolrResourceLoader replaceClassLoader But when schema.xml is processed, I get a load error. Now superclass FieldType of TestType cannot be found. INFO: created pdate: org.apache.solr.schema.DateField Nov 23, 2010 6:26:13 PM org.apache.solr.servlet.SolrDispatchFilter init SEVERE: Could not start SOLR. Check solr/home property java.lang.NoClassDefFoundError: org/apache/solr/schema/FieldType at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:634) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:277) at java.net.URLClassLoader.access$000(URLClassLoader.java:73) at java.net.URLClassLoader$1.run(URLClassLoader.java:212) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:321) at java.lang.ClassLoader.loadClass(ClassLoader.java:266) at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:375) at java.lang.ClassLoader.loadClass(ClassLoader.java:314) at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:615) at java.lang.ClassLoader.loadClass(ClassLoader.java:266) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:359) at org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:390) at org.apache.solr.schema.IndexSchema$1.create(IndexSchema.java:419) at org.apache.solr.schema.IndexSchema$1.create(IndexSchema.java:447) at org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:141) at org.apache.solr.schema.IndexSchema.readSchema(IndexSchema.java:456) at org.apache.solr.schema.IndexSchema.<init>(IndexSchema.java:95) at org.apache.solr.core.SolrCore.<init>(SolrCore.java:520) at org.apache.solr.core.CoreContainer$Initializer.initialize(CoreContainer.java:137) at org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:83) at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:99) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:594) at org.mortbay.jetty.servlet.Context.startContext(Context.java:139) at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1218) at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:500) at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:147) at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:161) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:147) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117) at org.mortbay.jetty.Server.doStart(Server.java:210) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) at org.mortbay.xml.XmlConfiguration.main(XmlConfiguration.java:929) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.mortbay.start.Main.invokeMain(Main.java:183) at org.mortbay.start.Main.start(Main.java:497) at org.mortbay.start.Main.main(Main.java:115) Caused by: java.lang.ClassNotFoundException: org.apache.solr.schema.FieldType at java.net.URLClassLoader$1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:321) at java.lang.ClassLoader.loadClass(ClassLoader.java:266) ... 50 more Is this a known problem? What can I do to fix this? Cheers, Steffi