CMD 中 运行 时出现 ClassNotFoundException

ClassNotFoundException when running in CMD

我正在尝试使用 org.apache.commons.codec.digest 中的 DigestUtils class 并在 java 中导入它,如下所示:

import org.apache.commons.codec.digest.DigestUtils;

当我在 Eclipse 中 运行 它时,它可以工作。但是当我尝试从命令提示符(使用 "java Simhash")运行 时,我得到了这个:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/codec/digest/DigestUtils
    at Simhash.main(Simhash.java:17)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.codec.digest.DigestUtils
    at java.net.URLClassLoader.run(Unknown Source)
    at java.net.URLClassLoader.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 1 more

我是个 Java 新手。我下载了 commons-codec-1.10.jar 文件,将其放入我的项目文件夹并使用构建路径导入它 -> 配置构建路径 -> 添加外部 JAR...

有什么想法吗?

将 JAR 文件添加到命令行 运行时间类路径

java -cp commons-codec-1.10.jar;. Simhash

这也应该直接从 Eclipse 运行,因为您已经将文件添加到类路径中。

您需要在 java 命令中添加 class 路径作为参数。查看 java 文档以获取更多信息。

java -classpath DigestUtils.jar:. TestClass