1

我正在尝试实现一个新的安全 bean,它依赖于一些 Base64 编码。在eclipse中,这个类编译得很好,事实上,它在部署到tomcat时构建,在本地运行;但是,当代码实际到达它调用的行时

Base64.encodeBase64String(rawBytes)

我明白了

SEVERE: Servlet.service() for servlet analytics threw exception
java.lang.NoSuchMethodError: org.apache.commons.codec.binary.Base64.encodeBase64String([B)Ljava/lang/String;

我已经注意导入我想要的类型(org.apache.commons.codec.binary.Base64)并尝试更改调用以使用方法的绝对包名称。

当我检查项目的 pom.xml 时,我看到存在以下内容,并且它是正确的工件,根据 apache 站点:

    <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
    </dependency>

查看 Eclipse 中的依赖层次结构视图,commons-codec jar 包含在 1.4 版的编译时(其中包含有问题的类)。

这里有一个类似的问题建议清除 tomcat 工作目录,所以我这样做无济于事。我不是 maven 或 tomcat 的专家,所以任何建议都会有所帮助。我知道这是一个非常具体的问题,所以我发布这个是希望得到一些线索,并向自己澄清这个问题。不过,我会接受任何指向正确方向的答案!

4

1 回答 1

1

尝试使用该库的最新版本:

<dependency>
    <groupId>commons-codec</groupId>
    <artifactId>commons-codec</artifactId>
    <version>20041127.091804</version>
</dependency>
于 2012-07-16T17:46:54.807 回答