为什么我在 Java 中收到 "Class Not Found" 错误?

Why am I getting the "Class Not Found" error in Java?

在尝试 运行 我的代码时,我遇到了这个问题:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/codec/digest/DigestUtils
    at primjer.ZastitniKodIzracun.main(ZastitniKodIzracun.java:67)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.codec.digest.DigestUtils
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
    ... 1 more

如果我理解得很好,这可能是由于 naming/saving 组成项目的文件中的错误,但我不确定是什么问题 - Java 源的名称代码文件对应于代码中“public class”行的文本(ZastitniKodIzracun.java)。我在 Eclipse 工作。代码的开头是这样的:

import java.io.FileInputStream;
import java.security.Key;
import java.security.KeyStore;
import java.security.PrivateKey;
import java.security.Signature;
import java.util.Date;
import java.text.SimpleDateFormat;
import org.apache.commons.codec.digest.DigestUtils;
java.lang.ClassNotFoundException: 

大多数情况下,当所需的库(及其所有依赖项)不在运行时的类路径中时,就会发生这种情况。确保适当版本的依赖库被打包(或)可用于运行时(不仅仅是编译时)。