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