aah!. We always assumed that people put the custom jars in the
WEB-INF/lib folder of solr webapp and hence they are automatically in
the classpath we shall make the necessary changes  .
--Noble

On Thu, Jun 19, 2008 at 10:06 AM, Brendan Grainger
<[EMAIL PROTECTED]> wrote:
> Hi,
>
> I am actually providing the fully qualified classname in the configuration
> and I was still getting a ClassNotFoundException. If you look at the code in
> SolrResourceLoader they actually explicitly add the jars in solr-home/lib to
> the classloader:
>
> static ClassLoader createClassLoader(File f, ClassLoader loader) {
>    if( loader == null ) {
>      loader = Thread.currentThread().getContextClassLoader();
>    }
>    if (f.canRead() && f.isDirectory()) {
>      File[] jarFiles = f.listFiles();
>      URL[] jars = new URL[jarFiles.length];
>      try {
>        for (int j = 0; j < jarFiles.length; j++) {
>          jars[j] = jarFiles[j].toURI().toURL();
>          log.info("Adding '" + jars[j].toString() + "' to Solr
> classloader");
>        }
>        return URLClassLoader.newInstance(jars, loader);
>      } catch (MalformedURLException e) {
>        SolrException.log(log,"Can't construct solr lib class loader", e);
>      }
>    }
>    log.info("Reusing parent classloader");
>    return loader;
>  }
>
>
> This seems to be me to be why my class is now found when I include my
> utilities jar in solr-home/lib.
>
> Thanks
> Brendan
>
> On Jun 18, 2008, at 11:49 PM, Noble Paul നോബിള്‍ नोब्ळ् wrote:
>
>> hi,
>> DIH does not load class using the SolrResourceLoader. It tries a
>> Class.forName() with the name you provide if it fails it prepends
>> "org.apache.solr.handler.dataimport." and retries.
>>
>> This is true for not just transformers but also for Entityprocessor,
>> DataSource and Evaluator
>>
>> The reason for doing so is that we do not use any of the 'solr.'
>> packages in DIH. All our implementations fall into the default package
>> and we can directly use them w/o the package name.
>>
>> So , if you are writing your own implementations use the default
>> package or provide the fully qualified class name.
>>
>> --Noble
>>
>> On Thu, Jun 19, 2008 at 8:09 AM, Jon Baer <[EMAIL PROTECTED]> wrote:
>>>
>>> Thanks.  Yeah took me a while to figure out I needed to do something like
>>> transformer="com.mycompany.solr.MyTransformer" on the entity before it
>>> would
>>> work ...
>>>
>>> - Jon
>>>
>>> On Jun 18, 2008, at 1:51 PM, Brendan Grainger wrote:
>>>
>>>> Hi,
>>>>
>>>> I set up the new DataimportHandler last night to replace some custom
>>>> import code I'd written and so far I'm loving it thank you.
>>>>
>>>> I had one issue you might want to know about it. I have some solr
>>>> extensions I've written and packaged in a jar which I place in:
>>>>
>>>> solr-home/lib
>>>>
>>>> as per:
>>>>
>>>>
>>>>
>>>> http://wiki.apache.org/solr/SolrPlugins#head-59e2685df65335e82f8936ed55d260842dc7a4dc
>>>>
>>>> This works well for my handlers but a custom Transformer I wrote and
>>>> packaged the same way was throwing a ClassNotFoundException. I tracked
>>>> it
>>>> down to the DocBuilder.loadClass method which was just doing a
>>>> Class.forName. Anyway, I fixed it for the moment by probably do
>>>> something
>>>> stupid and creating a SolrResourceLoader (which I imagine could be an
>>>> instance variable, but at 3am I just wanted to get it working). Anyway,
>>>> this
>>>> fixes the problem:
>>>>
>>>> @SuppressWarnings("unchecked")
>>>> static Class loadClass(String name) throws ClassNotFoundException {
>>>>  SolrResourceLoader loader = new SolrResourceLoader( null );
>>>>  return loader.findClass(name);
>>>>  // return Class.forName(name);
>>>> }
>>>>
>>>> Brendan
>>>
>>>
>>
>>
>>
>> --
>> --Noble Paul
>
>



-- 
--Noble Paul
  • Slight issue with clas... Brendan Grainger
    • Re: Slight issue ... Jon Baer
      • Re: Slight is... Noble Paul നോബിള്‍ नोब्ळ्
        • Re: Sligh... Brendan Grainger
          • Re: S... Noble Paul നോബിള്‍ नोब्ळ्
            • ... Brendan Grainger
            • ... Chris Hostetter
              • ... Noble Paul നോബിള്‍ नोब्ळ्
                • ... Brian Carmalt
                • ... Erik Hatcher
                • ... William Silva
                • ... Noble Paul നോബിള്‍ नोब्ळ्
                • ... Chris Hostetter
                • ... William Silva
                • ... Noble Paul നോബിള്‍ नोब्ळ्

Reply via email to