Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I use the Apache Commons Codec library from Clojure?

I'm trying to use the Base 64 functions present in the Apache Commons Codec package. I'm using Leiningen, and have this in my project.clj:

:dependencies [[org.clojure/clojure "1.2.0"]
               [commons-codec/commons-codec "1.4"]]

Leiningen successfully finds the appropriate .jar. I can't for the life of me figure out which class I actually need to import, though. I have tried all variations of

(ns my-project.core
  (:import (org.apache.commons.codec.binary Base64)))

but nothing seems to work. What class name should I be using for this?

like image 510
bdesham Avatar asked Jan 27 '11 00:01

bdesham


2 Answers

I would recommend cutting to the chase and checking where the rubber hits the road. Make sure Leiningen did in fact place the correct jar in the lib directory of your project. Open the jar and look inside and see of the class you are looking for is there. If the path to that class in the jar should match the path of your import statement.

like image 83
Psyllo Avatar answered Nov 17 '22 20:11

Psyllo


Whoops. It looks like I was just calling the class itself incorrectly. The following worked fine after the :import line above: (.decode (Base64.) s). Thanks for the responses, everyone.

like image 20
bdesham Avatar answered Nov 17 '22 18:11

bdesham