This should be a simple problem to solve but every time I try to compile I am getting class not found exceptions caused by the fact that leininigen is trying to compile classes in the wrong order. I've gone as far as trying to explicitly define the order classes should be compiled on the project.clj file using the :aot but that is being ignored. The files that are getting class not found exceptions have :require statements in the ns declaration but they are also being ignored. How can I change the compile order?
I have used lein clean because I had some stale classes that the system was refusing to overwrite and now it won't compile at all. I am getting very frustrated with this language as it seems nothing works the way it should.
Here is an example error I'm getting (replaced base namespace with )
Exception in thread "main" java.lang.NoClassDefFoundError: <MyProject>/util$loading__4910__auto__, compiling:(obj.clj:1:1)
The file that it is failing in contains ...
(ns <MyProject>.obj
(:gen-class)
(:require <MyProject>.util)
)
util.clj contains...
(ns <MyProject>.util
(:gen-class)
)
project.clj contains...
:aot [
;...
<MyProject>.util
<MyProject>.obj
;...
]