I am implementing GoCardless into my ColdFusion application by using their Java library and have encountered the following error:
Assuming you are not invoking that method, it probably means exactly what it says. The codec version loaded by the jvm does not contain a method with that signature. You can verify it by creating an instance of
org.apache.commons.codec.binary.Base64 class and checking the available methods with cfdump. (It might also be a class loader conflict, but the former is more likely.)
As far as the reason, when multiple versions of a jar are present in the class path, the jvm can only pick one of them. It probably picked the older version that ships with ColdFusion, which may not have that method. See: Identifying which jar a class was loaded from...
The simplest way to load a newer jar version is to remove the old jar in
/lib, replace it with the newer version, and restart CF. Keep in mind that library is also used by CF itself, so you run the risk of breaking something if the newer version is not backward compatible. Another option is using CF10's dynamic class loading feature. It is basically a rip of Mark Mandel's JavaLoader.cfc, just bundled into CF.