Hi Raymond, Thanks for the suggestion - sorry I was obfuscating the names a little in the example - but yes the plugin name matches that of the jar - but the problem is still the same...it looks like it is a class external to my plugin which it is having issues in loading?
Thx Joel -----Original Message----- From: Raymond Balmès <[email protected]> To: [email protected], [email protected] Subject: Re: Unable to register IndexingFilter extesion plugin - N 0.9 Date: Mon, 27 Apr 2009 22:58:12 +0200 I think you need to give the right name to your "plugin.jar" it should be location-aware.jar. -Ray- 2009/4/27 Joel Halbert <[email protected]> Hi, I'm trying to register an simple extension point for my plugin - using nutch 0.9. I keep running into this exception from hadoop.log: 2009-04-27 18:15:56,155 INFO plugin.PluginRepository - Ontology Model Loader (org.apache.nutch.ontology.Ontology) 2009-04-27 18:15:56,157 INFO indexer.IndexingFilters - Adding org.apache.nutch.indexer.basic.BasicIndexingFilter 2009-04-27 18:15:56,160 WARN mapred.LocalJobRunner - job_oz369z java.lang.NoClassDefFoundError: IndexingFilter at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:621) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) at java.net.URLClassLoader.access $000(URLClassLoader.java:56) at java.net.URLClassLoader$1.run(URLClassLoader.java:195) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at java.lang.ClassLoader.loadClass(ClassLoader.java:252) at org.apache.nutch.plugin.Extension.getExtensionInstance(Extension.java:156) at org.apache.nutch.indexer.IndexingFilters.<init>(IndexingFilters.java:68) at org.apache.nutch.indexer.Indexer.configure(Indexer.java:143) at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:58) at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:82) at org.apache.hadoop.mapred.MapRunner.configure(MapRunner.java:34) at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:58) at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:82) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:170) at org.apache.hadoop.mapred.LocalJobRunner $Job.run(LocalJobRunner.java:126) Caused by: java.lang.ClassNotFoundException: IndexingFilter at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at java.lang.ClassLoader.loadClass(ClassLoader.java:252) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) ... 20 more My config is pretty simple: nutch-site.xml <property> <name>plugin.includes</name> <value>protocol-http|urlfilter-regex|parse-(text|html|js)| index-basic| query-(basic|site|url)|summary-basic|scoring-opic| urlnormalizer-(pass| regex|basic)|location-aware</value> </property> plugin.xml <?xml version="1.0" encoding="UTF-8"?> <plugin id="location-aware" name="Location Aware Indexer" version="0.0.1" provider-name="myplugin.com"> <runtime> <library name="myplugin.jar"> <export name="*"/> </library> </runtime> <requires> <import plugin="nutch-extensionpoints"/> </requires> <extension id="com.myplugin" name="My Plugin" point="org.apache.nutch.indexer.IndexingFilter"> <implementation id="MyPluginIndexingFilter" class="com.myplugin.MyPLuginIndexingFilter"/> </extension> </plugin> Thanks for any pointers. Joel
