Tomcat服务器找不到DigestUtils apache类

时间:2018-02-28 19:22:56

标签: java tomcat intellij-idea

在构建Web应用程序时,我使用了org.apache.commons.codec.digest中的DigestUtils类。

当我使用它测试类时,我没有问题,所有内容都按预期编译和运行。

但是当我在Tomcat中使用它时(就像在servlet中一样),我得到了以下错误:

java.lang.NoClassDefFoundError: org/apache/commons/codec/digest/DigestUtils

我已经对这个问题做过一些研究,但找不到能帮到我的解决方案。

问题有时会附加在我的其他发展中,所以我想知道如何为我的所有未来作品解决这个问题。

我知道默认情况下Java 9并不包含所有模块,而且我已经阅读了一些问题,解决方案主要在classpath中?

我目前正在使用IDE IntelliJ IDEA,你能帮我解决这个问题吗?

使用DigestUtils的调用部分是:

private String hash(String value) {
    return DigestUtils.md5Hex(value);
}

我知道md5已被弃用,但这是客户要求。

应用程序在Tomcat 9.0.4下运行

修改:

  • 我已经将commons-codec添加到maven,如果我检查项目依赖项,那么她就在,所以问题就像预期的Tomcat一样无法使用它......

IntelliJ Maven commons-codec dependency

答案:

IntelliJ不包括maven依赖项中的所有库到WEB-INF / lib。

参见:

1 个答案:

答案 0 :(得分:0)

您是否正在将Maven用于您的项目。确保apache通用编解码器jar在类路径中可用,或者添加了部分Web应用程序依赖项。