Você não suporta o Maven e quer que o lein gerencie a construção de um aplicativo Java?
Eu sugiro usar um Clojure “principal” para tornar a vida mais fácil. Tudo o que ele faz é usar Environment para obter dados de configuração e, em seguida, instanciar a classe Java, que é seu principal principal.
Eu também sugiro usar o log SLF4J com o driver Log4J2 por causa dos excelentes AsyncLoggers baseados em Disruptor e configuração YAML simples (e formatadores coloridos adoráveis).
Como você está escrevendo um aplicativo Java, provavelmente também deseja o JUnit4.
Aqui está um exemplo de project.clj para fazer o trabalho por você: