我試圖實現一個新的安全bean,它依賴於一些Base64編碼。在eclipse中,類編譯得很好,事實上,它在部署到tomcat時生成,在本地運行;然而,當代碼實際上達到了線它調用Spring中的NoSuchMethodError 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的專家,所以任何建議都會有幫助。我知道這是一個非常具體的問題,所以我發佈這個希望有一些線索,並向我自己澄清問題。不過,我會接受任何指向正確方向的答案!
是commans-codec.jar出現在你的WEB-INF/lib文件夾中的webaplication下? – allthenutsandbolts 2012-07-16 17:47:57
yes:commons-codec-1.4.jar – Ben 2012-07-16 18:00:34