0

Voldemort のダウンロードで見つかる Client Example を実行しようとしています。

マイ パスの場所: /home/voldemart/voldemort-1.3.0/clientjava

コードをコンパイルしました

javac -classpath ../dist/voldemort-1.3.0.jar ClientVoldemort.java

エラーは表示されませんでした。しかし、次のようにコードを実行しようとすると:

java -classpath ../dist/voldemort-1.3.0.jar ClientVoldemort
Exception in thread "main" java.lang.NoClassDefFoundError: ClientVoldemort
Caused by: java.lang.ClassNotFoundException: ClientVoldemort
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)

ClientExample code Given below.

package voldemort.examples;
import voldemort.client.ClientConfig;
import voldemort.client.SocketStoreClientFactory;
import voldemort.client.StoreClient;
import voldemort.client.StoreClientFactory;
import voldemort.versioning.Versioned;
public class ClientExample {
public static void main(String[] args) {
String bootstrapUrl = "tcp://localhost:6666";
StoreClientFactory factory = new SocketStoreClientFactory(new ClientConfig().setBootstrapUrls(bootstrapUrl));
StoreClient<String, String> client = factory.getStoreClient("my_store_name");
Versioned<String> version = client.get("some_key");
version.setObject("new_value");
client.put("some_key", version);
}
}
4

2 に答える 2

0

NoClassDefFoundError は、ファイルがコンパイル時には存在していたが、クラスパスが正しく設定されていなかったため、実行時には見つからなかったことを意味します。これを確認する 1 つの方法は、winzip で .jar ファイルを開くことです。jar に存在するすべてのファイルが表示されます。この例外が発生すると、ほとんどの場合、クラスが jar にないことがわかります。

于 2013-10-11T12:06:10.437 に答える