Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
HDFS >> mail # user >> Re: ClassNotFoundException in Main


Copy link to this message
-
Re: ClassNotFoundException in Main
Sorry. I did not read the mail correctly. I think the error is in how the
jar has been created. The classes start with root as wordcount_classes,
instead of org.

Thanks
Hemanth

On Tuesday, February 19, 2013, Hemanth Yamijala wrote:

> Have you used the Api setJarByClass in your main program?
>
>
> http://hadoop.apache.org/docs/r1.0.4/api/org/apache/hadoop/mapreduce/Job.html#setJarByClass(java.lang.Class)
>
> On Tuesday, February 19, 2013, Fatih Haltas wrote:
>
>> Hi everyone,
>>
>> I know this is the common mistake to not specify the class adress while
>> trying to run a jar, however,
>> although I specified, I am still getting the ClassNotFound exception.
>>
>> What may be the reason for it? I have been struggling for this problem
>> more than a 2 days.
>> I just wrote different MapReduce application for some anlaysis. I got
>> this problem.
>>
>> To check, is there something wrong with my system, i tried to run
>> WordCount example.
>> When I just run hadoop-examples wordcount, it is working fine.
>>
>> But when I add just "package org.myorg;" command at the beginning, it
>> doesnot work.
>>
>> Here is what I have done so far
>> *************************************************************************
>> 1. I just copied wordcount code from the apaches own examples source code
>> and I just changed package decleration as "package org.myorg;"
>> **************************************************************************
>> 2. Then I tried to run that command:
>>  *************************************************************************
>> "hadoop jar wordcount_19_02.jar org.myorg.WordCount
>> /home/hadoop/project/hadoop-data/NetFlow 19_02_wordcount.output"
>> *************************************************************************
>> 3. I got following error:
>> **************************************************************************
>> [hadoop@ADUAE042-LAP-V project]$ hadoop jar wordcount_19_02.jar
>> org.myorg.WordCount /home/hadoop/project/hadoop-data/NetFlow
>> 19_02_wordcount.output
>> Warning: $HADOOP_HOME is deprecated.
>>
>> Exception in thread "main" java.lang.ClassNotFoundException:
>> org.myorg.WordCount
>>         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)
>>         at java.lang.Class.forName0(Native Method)
>>         at java.lang.Class.forName(Class.java:266)
>>         at org.apache.hadoop.util.RunJar.main(RunJar.java:149)
>>
>> **************************************************************************
>> 4. This is the content of my .jar file:
>> ****************************************************
>> [hadoop@ADUAE042-LAP-V project]$ jar tf wordcount_19_02.jar
>> META-INF/
>> META-INF/MANIFEST.MF
>> wordcount_classes/
>> wordcount_classes/org/
>> wordcount_classes/org/myorg/
>> wordcount_classes/org/myorg/WordCount.class
>> wordcount_classes/org/myorg/WordCount$TokenizerMapper.class
>> wordcount_classes/org/myorg/WordCount$IntSumReducer.class
>> **********************************************************
>> 5. This is the 'ls' output of my working directory:
>> **********************************************************
>> [hadoop@ADUAE042-LAP-V project]$ ls
>> flowclasses_18_02  flowclasses_18_02.jar  hadoop-1.0.4
>>  hadoop-1.0.4.tar.gz  hadoop-data  MapReduce.java  sample
>>  wordcount_19_02.jar  wordcount_classes  WordCountClasses  WordCount.java
>> *************************************************************
>> So as you see, package decleration is fine but I am really helpless, I
>> googled but they are all saying samething you should specify the package
>> hierarchy of your main class. I did know it already I am specifying but
>> doesn't work.
>>
>> I would be much obliged to anyone helped me
>>
>> Regards,