当我尝试运行Duke(一个开源重复数据删除程序)时,我发现java类没有找到错误。我已完成以下操作以将适当的文件添加到Classpath。
这是开发人员为了运行程序而要做的事情: "要运行Duke,您需要一个XML配置文件。你还需要在类路径上放置duke- .jar和lucene - .jar。"
要运行Duke,请输入命令:
java no.priv.garshol.duke.Duke
在了解了类路径之后,我就想到了这一点:
Kyles-MBP:~ kyleanderson$ export CLASSPATH="/Users/kyleanderson/Desktop/duke-1.2/duke-**.jar:/Users/kyleanderson/Desktop/duke-1.2/lucene-**.jar"
Kyles-MBP:~ kyleanderson$ java no.priv.garshol.duke.Duke
当我尝试运行主类时,我收到以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: no/priv/garshol/duke/Duke
Caused by: java.lang.ClassNotFoundException: no.priv.garshol.duke.Duke
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
我在这里看了一堆,似乎没有回答我的问题。
答案 0 :(得分:2)
这个:
export CLASSPATH=$CLASSPATH:/Users/kyleanderson/Desktop/duke-1.2/*:/Users/kyleanderson/Desktop/duke-1.2/*
java no.priv.garshol.duke.Duke