tomcat和jdk以及web应用程序之间的关系是什么?

Ans*_* .K 5 java tomcat

这是我最近问的问题:org.apache.commons.codec.digest.Md5Crypt.md5Crypt函数.在linux下发生异常,但在windows下很好

虽然最后,我解决了它,但我仍然感到困惑.是什么导致了这种情况

我的jdk是1.7,我的tomcat是7,我的web应用程序是由jdk 1.7编译的,commons-codec.jar的版本是1.10,然后抛出异常.

java.lang.IllegalAccessError: tried to access method org.apache.commons.codec.digest.DigestUtils.getMd5Digest()Ljava/security/MessageDigest; from class org.apache.commons.codec.digest.Md5Crypt
Run Code Online (Sandbox Code Playgroud)

当我将我的tomcat从7改为8时,它运行正常.为什么?tomcat对应用程序做了什么?

Qua*_*ore 2

我强烈建议问题没有解决,因为您使用的是 tomcat 8 而不是 7,但问题已解决,因为您的 java 构建路径中存在冲突,这意味着您commons-codec在运行时有两个不同版本的 JAR,而您的 JAR 中可能有一个版本tomcat 7 lib 文件夹。