I've had this problem too. I solved in a slightly different way. I had my main function in a clojure file that also defined a component. I moved my main function into a different file and that did the trick. I didn't need a :gen-class directive in each file that had a component. I didn't need to bring my user.clj into my main source tree, I didn't need the :clean-non-project-files false directive either...just pulled the main function out of the file that also defined a component.
Each time I did a lein clean; lein deps; lein compile; lein repl -or- lein clean; lein deps; lein compile; lein uberjar These are the directives I did use in my project.clj: :main example.core :uberjar {:aot :all} :aot [example.core] :repl-options {:init-ns user} -- 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 --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.