Okie what i did is added the folder containing my .class file in the classpath, along with commons-logging-1.0.4.jar and log4j-1.2.15.jar in my classpath:
so now Myclasspath variable looks like : MYCLASSPATH="/usr/local/hadoop/hadoop/hadoop-0.20.2-core.jar:/usr/local/hadoop/hbase/hbase/hbase-0.20.6.jar:/usr/local/hadoop/hbase/hbase/lib/zookeeper-3.2..2.jar::/usr/local/hadoop/hbase/hbase/lib/commons-logging-1.0.4.jar:/usr/local/hadoop/hbase/hbase/lib/log4j-1.2.15.jar:/usr/local/hadoop/hbase/" and then I used java -classpath $MYCLASSPATH ExampleClient.java now its running.. Thanks.!!! On Tue, May 24, 2011 at 3:52 PM, praveenesh kumar <[email protected]>wrote: > which class is not in classpath ??? > I already put hadoop-core.jar , hbase-core.jar and zookeeper.jar in my > classpaths... > What else I need to put in my classpath ??? > > On Tue, May 24, 2011 at 3:48 PM, Vivek Mishra < > [email protected]> wrote: > >> It means Class is not in your classpath. >> >> -----Original Message----- >> From: praveenesh kumar [mailto:[email protected]] >> Sent: Tuesday, May 24, 2011 3:31 PM >> To: [email protected] >> Subject: How to compile simple Hbase code ? >> >> I am simply using HBase API, not doing any Map-reduce work on it. >> Following is the code I have written , simply creating the file on HBase: >> >> import java.io.IOException; >> import org.apache.hadoop.hbase.HBaseConfiguration; >> import org.apache.hadoop.hbase.HColumnDescriptor; >> import org.apache.hadoop.hbase.HTableDescriptor; >> import org.apache.hadoop.hbase.client.Get; >> import org.apache.hadoop.hbase.client.HBaseAdmin; >> import org.apache.hadoop.hbase.client.HTable; >> import org.apache.hadoop.hbase.client.Put; >> import org.apache.hadoop.hbase.client.Result; >> import org.apache.hadoop.hbase.client.ResultScanner; >> import org.apache.hadoop.hbase.client.Scan; >> import org.apache.hadoop.hbase.util.Bytes; >> public class ExampleClient { >> public static void main(String args []) throws IOException { >> HBaseConfiguration config = new HBaseConfiguration(); >> >> HBaseAdmin admin = new HBaseAdmin(config); >> HTableDescriptor htd = new HTableDescriptor("test"); >> HColumnDescriptor hcd = new HColumnDescriptor("data"); >> htd.addFamily(hcd); >> admin.createTable(htd); >> >> byte [] tablename = htd.getName(); >> HTableDescriptor [] tables = admin.listTables(); >> >> if(tables.length !=1 && Bytes.equals(tablename, tables[0].getName())) >> { >> throw new IOException("Failed to create table"); >> } >> >> HTable table = new HTable(config,tablename); >> byte[] row1 = Bytes.toBytes("row1"); >> Put p1 = new Put(row1); >> byte[] databytes = Bytes.toBytes("data"); >> p1.add(databytes,Bytes.toBytes("1"),Bytes.toBytes("value1")); >> table.put(p1); >> >> Get g = new Get(row1); >> Result result = table.get(g); >> System.out.println("Get : "+ result); >> Scan scan = new Scan(); >> ResultScanner scanner = table.getScanner(scan); >> try >> { >> for(Result scannerResult: scanner) >> { >> System.out.println("Scan : " + scannerResult); >> } >> }catch(Exception e ){ >> e.printStackTrace(); >> } >> finally{ >> scanner.close(); >> } >> table.close(); >> } >> } >> >> Now I have set the classpath variable in /etc/environment as >> >> * >> >> MYCLASSPATH="/usr/local/hadoop/hadoop/hadoop-0.20.2-core.jar:/usr/local/hadoop/hbase/hbase/hbase-0.20.6.jar:/usr/local/hadoop/hbase/hbase/lib/zookeeper-3.2.2.jar >> * >> now I am compiling my code with javac command >> >> *$javac -classpath $MYCLASSPATH ExampleClient.java >> * >> It is working fine. >> While running, I am using java command >> *$java -classpath $MYCLASSPATH ExampleClient*, >> >> then I am getting the following error : >> *Exception in thread "main" java.lang.NoClassDefFoundError: ExampleClient >> Caused by: java.lang.ClassNotFoundException: ExampleClient* >> >> * 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 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:266)* >> >> Could not find the main class: ExampleClient. Program will exit. >> >> But I am running the code from the same location. and ExampleClient.class >> file exists at that location. >> >> ________________________________ >> >> Write to us for a Free Gold Pass to the Cloud Computing Expo, NYC to >> attend a live session by Head of Impetus Labs on ‘Secrets of Building a >> Cloud Vendor Agnostic PetaByte Scale Real-time Secure Web Application on the >> Cloud ‘. >> >> Looking to leverage the Cloud for your Big Data Strategy ? Attend Impetus >> webinar on May 27 by registering at >> http://www.impetus.com/webinar?eventid=42 . >> >> >> NOTE: This message may contain information that is confidential, >> proprietary, privileged or otherwise protected by law. The message is >> intended solely for the named addressee. If received in error, please >> destroy and notify the sender. Any use of this email is prohibited when >> received in error. Impetus does not represent, warrant and/or guarantee, >> that the integrity of this communication has been maintained nor that the >> communication is free of errors, virus, interception or interference. >> > >
