首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Voldemort运行时错误

Voldemort运行时错误
EN

Stack Overflow用户
提问于 2013-10-11 20:00:42
回答 2查看 362关注 0票数 0

我正在尝试运行客户端示例,该示例可以在Voldemort下载中找到。

我编译了代码

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

未出现错误。但是当我尝试运行代码时,如下所示:

代码语言:javascript
复制
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);
}
}
EN

回答 2

Stack Overflow用户

发布于 2013-10-11 20:02:01

看起来JVM没有在预期位置找到类,即相对于当前目录的voldemort/examples

需要进行一些调整

  • 将当前目录添加到类路径中,
  • 将该类限定为类

将类移动到voldemort/examples并使用

编译和运行命令:

代码语言:javascript
复制
javac -cp ../dist/voldemort-1.3.0.jar voldemort/examples/*.java
java -cp ../dist/voldemort-1.3.0.jar:. voldemort.examples.ClientVoldemort

注意:使用-classpath-cp标志时,当前目录不会自动包含在类路径中(与不使用这两个标志形成对比)

票数 0
EN

Stack Overflow用户

发布于 2013-10-11 20:06:10

NoClassDefFoundError表示文件在编译时存在,但在运行时找不到,因为没有正确设置类路径。检查的一种方法是在winzip中打开你的.jar文件,它将显示存在于jar中的所有文件。当您获得此异常时,您将主要看到jar中缺少类

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19317647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档