Hi,
I've create a clojure app with "lein new app sat4j-app"
I've edited the project.clj file to :
(defproject sat4j-app "0.1.0-SNAPSHOT"
:description "FIXME: write description"
:license {:name "Eclipse Public License"
:dependencies [
[org.clojure/clojure "1.5.1"]
[org.ow2.sat4j/org.ow2.sat4j.sat "2.3.5"]
[org.ow2.sat4j/org.ow2.sat4j.core "2.3.5"]
]
:main sat4j-app.core
:profiles {:uberjar {:aot :all}})
If I run lein deps, I can see that leiningen can find the sta4j modules :
....
Retrieving org/ow2/sat4j/org.ow2.sat4j.sat/2.3.5/org.ow2.sat4j.sat-2.3.5.pom from central
Retrieving org/ow2/sat4j/org.ow2.sat4j.pom/2.3.5/org.ow2.sat4j.pom-2.3.5.pom from central
Retrieving org/ow2/ow2/1.5/ow2-1.5.pom from central
Retrieving org/ow2/sat4j/org.ow2.sat4j.core/2.3.5/org.ow2.sat4j.core-2.3.5.pom from central
....
And I can compile and run the default code (no sat4j import yet).
The problem occurs when I try to use import in my main clojure code :
(ns sat4j-app.core
(:gen-class)
(:import org.ow2.sat4j/org.ow2.sat4j.core Vec ))
I then get a Class not found exception (Vec is suppoed to be defined in the core module)
I don't know which syntax to use in the import statement.
I've also tried (:import org.ow2.sat4j.core Vec ), (:import org.ow2.sat4j.core.Vec ) without success.
To make think even more confusing, I did a local build of sat4j and I found (using javadoc html page) that the Vec class is defined as org.sat4j.core.Vec<T>
not org.ow2.sat4j.core.Vec<T>.
So I tried (:import org.sat4j.core.Vec ) and (:import org.sat4j.core Vec ) without success.
Any clue ?
Thank you
Ronan