Sometimes the 'class not found' exception means that it found the named class, but *that* class has missing dependencies. I haven't learned how to distinguish "I can't find X" and "I can't find dependencies for X".
On Thu, Apr 7, 2011 at 12:37 PM, Benson Margulies <bimargul...@gmail.com> wrote: > We've set up a hadoop job jar file to do vectorization. > > The structure we have is that our code, which is a single class with > the main function, is in the unpacked part of the jar file, and > mahout-core and its dependencies are in the lib directory of the jar > file. > > The results are the following. In other words, the context class > loader, which is what SequenceFileTokenizerMapper uses, doesn't > include the lucene-core jar (or, I presume, any of the other jars in > the lib dir). > > Is this old news of some kind? And ideas, other than to unpack all > those jars into the unpacked part of our job? > > > Error: java.lang.ClassNotFoundException: > org.apache.lucene.analysis.standard.StandardAnalyzer > at java.net.URLClassLoader$1.run(URLClassLoader.java:202) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:190) > at java.lang.ClassLoader.loadClass(ClassLoader.java:307) > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) > at java.lang.ClassLoader.loadClass(ClassLoader.java:248) > at java.lang.ClassLoader.defineClass1(Native Method) > at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) > at java.lang.ClassLoader.defineClass(ClassLoader.java:616) > at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) > at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) > at java.net.URLClassLoader.access$000(URLClassLoader.java:58) > at java.net.URLClassLoader$1.run(URLClassLoader.java:197) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:190) > at java.lang.ClassLoader.loadClass(ClassLoader.java:307) > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) > at java.lang.ClassLoader.loadClass(ClassLoader.java:248) > at > org.apache.mahout.vectorizer.document.SequenceFileTokenizerMapper.setup(SequenceFileTokenizerMapper.java:57) > at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:142) > at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:646) > at org.apache.hadoop.mapred.MapTask.run(MapTask.java:322) > at org.apache.hadoop.mapred.Child$4.run(Child.java:240) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:396) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1115) > at org.apache.hadoop.mapred.Child.main(Child.java:234) > -- Lance Norskog goks...@gmail.com