Я пытаюсь использовать хранилище voldemort для сохранения данных в каре. Я реализовал интерфейс mapstore. Когда я пытаюсь добавить запись карты в карусель, я получаю это исключение.Ошибка пути класса Hazelcast
29 Mar, 2012 12:19:28 PM com.hazelcast.cluster.ClusterService
SEVERE: /192.168.100.120:5701 [dev] error processing messages [email protected]
java.lang.NoClassDefFoundError: voldemort/client/StoreClientFactory
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2406)
at java.lang.Class.getConstructor0(Class.java:2716)
at java.lang.Class.newInstance0(Class.java:343)
at java.lang.Class.newInstance(Class.java:325)
at com.hazelcast.impl.CMap.<init>(CMap.java:203)
at com.hazelcast.impl.ConcurrentMapManager.getOrCreateMap(ConcurrentMapManager.java:2160)
at com.hazelcast.impl.FactoryImpl.createProxy(FactoryImpl.java:735)
at com.hazelcast.impl.FactoryImpl$7.process(FactoryImpl.java:809)
at com.hazelcast.cluster.ClusterService$1.process(ClusterService.java:126)
at com.hazelcast.cluster.ClusterService.processProcessable(ClusterService.java:190)
at com.hazelcast.cluster.ClusterService.dequeueProcessables(ClusterService.java:256)
at com.hazelcast.cluster.ClusterService.run(ClusterService.java:201)
at java.lang.Thread.run(Thread.java:679)
Caused by: java.lang.ClassNotFoundException: voldemort.client.StoreClientFactory
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)
... 14 more
Это hazelcast run.sh сценарий я отредактировал, чтобы включить Волдеморт банку в пути к классам.
#!/bin/sh
java -Djava.net.preferIPv4Stack=true -cp ./:/home/gerrard/workspace/hazelcast/bin/:/home/gerrard/work/voldemort- 0.90.1/lib/:/home/gerrard/work/voldemort-0.90.1/dist/:/home/gerrard/work/voldemort- 0.90.1/bin/:../lib/hazelcast-2.0.1.jar com.hazelcast.examples.TestApp
Я также добавил свой класс реализации в файл hazelcast.xml.
Я также добавил запись пути к классу в файле манифеста из файла hazelcast-2.0.1.jar.
Даже тогда, когда я пытаюсь добавить запись, она дает ошибку noclassdef. Класс, который пытается найти, определенно находится в папке voldemort, которую я добавил в classpath. Я до сих пор не знаю, что это за проблема. Может ли кто-нибудь предложить альтернативные решения? Спасибо.