2010-05-26 27 views

Respuesta

22

Utilice leiningen y cree un uberjar (jar independiente que contenga todas las dependencias) del proyecto.

Como Alex Ott menciona en el comentario a mi respuesta, otro puede construir su aplicación es usar Maven + Clojure plugin for maven. Después, puede usar una herramienta como IzPack para generar un instalador o un contenedor ejecutable para su artefacto de jar. También puede usar IzPack con leiningen, por supuesto, no le importa el sistema de compilación, solo sobre los archivos resultantes :-)

Después de tener el uberjar, hay muchas opciones para envolverlo en un entorno nativo ejecutable launcher para windows - izpack2exe, jsmooth, jar2exe, executor, etc ...

+3

utilizo experto con el plugin de montaje para construir frasco grande con todo el contenido. Y también uso maven + izpack-plugin para construir instaladores para mis aplicaciones –

+0

Utilizo IzPack, pero olvidé mencionarlo. Gracias por el gran comentario, extenderé mi respuesta. –

+0

Clojuresque (el complemento Clojure para gradle) también proporciona una tarea uberjar, que crea un jar independiente para una aplicación. – kotarak

2

Para ampliar la respuesta de Bozhidar leiningen hace que sea muy fácil generar un jar que empaquete su aplicación y sus dependencias. Simplemente ejecute uberjar desde la terminal cuando se encuentre dentro del directorio del proyecto y se creará un archivo nombre-proyecto-0.1.0-independiente.jar que se puede ejecutar con java -jar donde "nombre-proyecto" es el nombre de su proyecto. Desea asegurarse de que sea su project.clj que establece: main a su archivo que tiene una función -main. También en su archivo principal que desea poner (Gen-clase) dentro de su declaración de espacio de este modo:

(ns project-name.main 
     (: require ...) 
     (:gen-class))