【问题标题】:Tomcat7 - Java 1.6 - NoClassDefFoundError org/apache/commons/codec/binary/Base64Tomcat7 - Java 1.6 - NoClassDefFoundError org/apache/commons/codec/binary/Base64
【发布时间】:2017-04-18 22:00:24
【问题描述】:

我尝试将 commons-codec-1.10.jar 放在 /TOMCAT/lib/ 文件夹中并运行 Tomcat,但在启动小程序时仍然收到相同的错误消息。在 Tomcat 之外运行代码时,我没有遇到同样的错误。当从 DES 更改为 AES 时,这基本上是从旧版本的 commons-codec-1.3.jar 到 commons-codec-1.10.jar 的代码更改。


java.lang.NoClassDefFoundError: org/apache/commons/codec/binary/Base64
at com.att.uview.misc.Base64Coder.encryptString(Base64Coder.java:33)
at com.att.uview.tree.RingContextTree.createTree(RingContextTree.java:263)
at com.att.uview.main.UltraView.loadUView(UltraView.java:529)
at com.att.uview.main.UltraView.init(UltraView.java:442)
at com.sun.deploy.uitoolkit.impl.awt.AWTAppletAdapter.init(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Caused by: java.lang.ClassNotFoundException: org.apache.commons.codec.binary.Base64
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 7 more

Ignored exception: java.lang.NoClassDefFoundError: org/apache/commons/codec/binary/Base64

【问题讨论】:

  • 您删除了旧版本吗? 1.3 ?
  • 我试过在不将 commons-codec-1.10.jar 复制到 tomcat lib 文件夹的情况下运行。我想知道我是否可以获取包含他们的 Base64 类版本的 tomcat jar 并将其导入代码并编译。
  • 尝试放置较新的版本,因为从您发布的堆栈跟踪来看,似乎只有您的应用程序在寻找这个版本的课程。您是否尝试过导出您的应用程序及其库?你如何在 Tomcat 之外运行它?在包含库的目录中,或者将库打包到 jar 中
  • 你的意思是把commons-codec-1.10.jar放到tomcat/lib/文件夹以外的地方吗?
  • Tomcat7 在 /lib/ 文件夹中有 tomcat-util.jar,但它不包含这个 Base64 类,所以我真的不确定是否存在冲突,除非它包含在另一个 tomcat jar 文件中.

标签: base64 tomcat7 codec java-6


【解决方案1】:

你是否包含了 apache commons 项目库,比如

org.apache.commons:commons-compress
org.apache.commons:commons-email
org.apache.commons:commons-io
org.apache.commons:commons-lang3
org.apache.commons:commons-parent
org.apache.commons:commons-pool2

commons-codec 的 GAV 是

commons-codec:commons-codec 

但它的包名是

org.apache.commons.codec

这个包名会和apache commons lib包名冲突,尝试修改commons-codec的包名并生成jar或者将源码导入到你的项目中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-16
    • 1970-01-01
    • 1970-01-01
    • 2013-03-12
    • 2016-01-12
    • 2020-09-03
    • 2013-03-19
    • 2018-04-03
    相关资源
    最近更新 更多