Hi, The new error usually happens if you compile using Java 7 and try to run via Java 6 (for example). That is, an incompatibility in the runtimes for the binary artifact produced.
On Tue, Feb 19, 2013 at 10:09 PM, Fatih Haltas <fatih.hal...@nyu.edu> wrote: > Thank you very much Harsh, > > Now, as I promised earlier I am much obliged to you. > > But, now I solved that problem by just changing the directories then again > creating a jar file of org. but I am getting this error: > > 1.) What I got > ------------------------------------------------------------------------------ > [hadoop@ADUAE042-LAP-V flowclasses_18_02]$ hadoop jar flow19028pm.jar > org.myorg.MapReduce /home/hadoop/project/hadoop-data/NetFlow 19_02.out > Warning: $HADOOP_HOME is deprecated. > > Exception in thread "main" java.lang.UnsupportedClassVersionError: > org/myorg/MapReduce : Unsupported major.minor version 51.0 > at java.lang.ClassLoader.defineClass1(Native Method) > at java.lang.ClassLoader.defineClass(ClassLoader.java:634) > at > java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) > at java.net.URLClassLoader.defineClass(URLClassLoader.java:277) > at java.net.URLClassLoader.access$000(URLClassLoader.java:73) > at java.net.URLClassLoader$1.run(URLClassLoader.java:212) > 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) > > 2.) How I create my jar > ------------------------------------------------------------------------------------- > [hadoop@ADUAE042-LAP-V flowclasses_18_02]$ jar cvf flow19028pm.jar org > added manifest > adding: org/(in = 0) (out= 0)(stored 0%) > adding: org/myorg/(in = 0) (out= 0)(stored 0%) > adding: org/myorg/MapReduce$FlowPortReducer.class(in = 1661) (out= > 690)(deflated 58%) > adding: org/myorg/MapReduce.class(in = 1587) (out= 903)(deflated 43%) > adding: org/myorg/MapReduce$FlowPortMapper.class(in = 1874) (out= > 823)(deflated 56%) > > 3.) Content of my jar file > --------------------------------------------------------------------------------------- > [hadoop@ADUAE042-LAP-V flowclasses_18_02]$ jar tf flow19028pm.jar > META-INF/ > META-INF/MANIFEST.MF > org/ > org/myorg/ > org/myorg/MapReduce$FlowPortReducer.class > org/myorg/MapReduce.class > org/myorg/MapReduce$FlowPortMapper.class > ----------------------------------------------------------------------------------------- > > > Thank you very much. > > > On Tue, Feb 19, 2013 at 8:20 PM, Harsh J <ha...@cloudera.com> wrote: >> >> Your point (4) explains the problem. The jar packed structure should >> look like the below, and not how it is presently (one extra top level >> dir is present): >> >> META-INF/ >> META-INF/MANIFEST.MF >> org/ >> org/myorg/ >> org/myorg/WordCount.class >> org/myorg/WordCount$TokenizerMapper.class >> org/myorg/WordCount$IntSumReducer.class >> >> On Tue, Feb 19, 2013 at 9:29 PM, Fatih Haltas <fatih.hal...@nyu.edu> >> 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, >> >> >> >> -- >> Harsh J > > -- Harsh J