So my Java ignorance once again rears it's ugly head. It turns out that JNI
dynamic libs can't really be part of a .jar. Say for example that you want
to build a JOGL Clojure project. Then your project file looks something like
this:

(defproject gears "0.1.0"
  :description "OpenGL Gears"
  :repositories [["java.net" "http://download.java.net/maven/2/";]]
  :dependencies [[org.clojure/clojure "1.1.0-alpha-SNAPSHOT"]
                 [org.clojure/clojure-contrib "1.0-SNAPSHOT"]
                 [net.java.dev.jogl/jogl-macosx-universal "1.1.1-rc6"]]
  :main gears)

lein deps will get you the dependencies. works like a charm.
lein compile will compile your classes. works a charm.
lein uberjar will build you an standalone executable jar. also works like a
charm.

The problem is that JOGL needs JNIs and JNIs need to be on java.library.path
or java.ext.dirs, not the classpath. In order to make life easier for people
learning about clojure as well generally making lein projects simpler to
play around for newbies do people see any utility in supporting something
like lein run?

This would greatly simplify running examples and what not.

If I made any mistakes (I'm sure I did) about the nature of JNIs and JARs
please say so.

David

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to