zookeeper-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Churu Tang <ct...@rubiconproject.com>
Subject Re: How to run a simple Java Client
Date Wed, 29 Oct 2014 21:27:17 GMT
Hi Steven,

Thanks for your help! 
I just checked, all class file, java file and jar file are under the current directory.
~$ ls *.class *.jar *.java
ZKClient$1.class  ZKClient.class  ZKClient.java  zookeeper-3.4.6.jar

However, it still has the same error.
~$ java -cp . ZKClient
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/zookeeper/Watcher
Caused by: java.lang.ClassNotFoundException: org.apache.zookeeper.Watcher
	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: ZKClient. Program will exit.

I am running on a GNU/Linux Environment, and using the stable version zookeeper-3.4.6. I am
able to run the Java and C binding Clients that comes with the package. Do I need to install
any other packages?

Cheers,
Churu

On Oct 29, 2014, at 1:55 PM, Steven Siebert <smsiebe@gmail.com> wrote:

>>> ~$ java ZKClient -classpath zookeeper-3.4.6.jar
> 
> You're passing your classpath and jar file name in as arguments.
> 
> Assuming your executing from directory that contains both the class file
> you compiled and the zookeeper jar,try:
> 
> java -cp . ZKClient
> 
> On Wed, Oct 29, 2014 at 4:45 PM, Churu Tang <ctang@rubiconproject.com>
> wrote:
> 
>> Hi Ben,
>> 
>> Thanks for you reply! I include the classpath, but it still throws the
>> same error
>> 
>> ~$ java ZKClient -classpath zookeeper-3.4.6.jar
>> Exception in thread "main" java.lang.NoClassDefFoundError:
>> org/apache/zookeeper/Watcher
>> Caused by: java.lang.ClassNotFoundException: org.apache.zookeeper.Watcher
>>        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: ZKClient. Program will exit.
>> 
>> Anything else you think I can do to make it right?
>> 
>> Cheers,
>> Churu
>> 
>> On Oct 29, 2014, at 1:28 PM, Ben Hsu <ben.hsu@criticalmedia.com> wrote:
>> 
>>> Hi Churu
>>> 
>>> I believe you have to set your classpath when running java (not just when
>>> running javac!)
>>> 
>>> On Wed, Oct 29, 2014 at 4:07 PM, Churu Tang <ctang@rubiconproject.com>
>>> wrote:
>>> 
>>>> Hi,
>>>> 
>>>> I try to run a simple Java Client, but it keep throwing an error. Would
>>>> someone help me to figure out why?
>>>> ~$ javac ZKClient.java -classpath zookeeper-3.4.6.jar
>>>> ~$ java ZKClient
>>>> Exception in thread "main" java.lang.NoClassDefFoundError:
>>>> org/apache/zookeeper/Watcher
>>>> Caused by: java.lang.ClassNotFoundException:
>> org.apache.zookeeper.Watcher
>>>>       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: ZKClient. Program will exit.
>>>> 
>>>> I am a beginner in Java and Zookeeper, sorry for such a simple question.
>>>> Many thanks!
>>>> 
>>>> Cheers,
>>>> Churu
>>>> 
>>>> 
>>>> ——————————————————————————ZKClient.java—————————————————————————————
>>>> import java.io.IOException;
>>>> 
>>>> import org.apache.zookeeper.CreateMode;
>>>> import org.apache.zookeeper.KeeperException;
>>>> import org.apache.zookeeper.WatchedEvent;
>>>> import org.apache.zookeeper.Watcher;
>>>> import org.apache.zookeeper.ZooDefs.Ids;
>>>> import org.apache.zookeeper.ZooKeeper;
>>>> 
>>>> public class ZKClient {
>>>> 
>>>>   public static void main(String[] args) throws Exception{
>>>>       Watcher wh = new Watcher(){
>>>>           @Override
>>>>           public void process(WatchedEvent event) {
>>>>               System.out.println(event.toString());
>>>>           }
>>>>       };
>>>>       ZooKeeper zk = new ZooKeeper("localhost:2181",30000,wh);
>>>>       System.out.println("=========Create Node===========");
>>>>       zk.create("/ctang", "znode1".getBytes(), Ids.OPEN_ACL_UNSAFE,
>>>> CreateMode.PERSISTENT);
>>>>       System.err.println("=============Verify node created
>>>> successfully===============");
>>>>       System.out.println(new String(zk.getData("/ctang", false,
>> null)));
>>>>       System.out.println("=========Modify data==========");
>>>>       zk.setData("/ctang", "sharpxiajun130901".getBytes(), -1);
>>>>       System.out.println("========Verify node modified
>>>> successfully=========");
>>>>       System.out.println(new String(zk.getData("/ctang", false,
>> null)));
>>>>       System.out.println("=======Delete node==========");
>>>>       zk.delete("/ctang", -1);
>>>>       System.out.println("==========Verify node deleted
>>>> successfully============");
>>>>       System.out.println("Note status:" + zk.exists("/ctang", false));
>>>>       zk.close();
>>>>   }
>>>> 
>>>> }
>>>> 
>>>> 
>> 
>> 


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message