Qual è il modo più semplice per creare un'app per clojure in un eseguibile come http://rawr.rubyforge.org/ per rubino? (file exe e app)Implementazione di Clojure?
risposta
Utilizzare leiningen e creare un uberjar (jar autonomo contenente tutte le dipendenze) dal progetto.
Come Alex Ott menziona nel commento alla mia risposta, un altro può costruire la tua app è utilizzare Maven + plugin Clojure per Maven. In seguito puoi usare uno strumento come IzPack per generare un programma di installazione o un wrapper eseguibile per il tuo artefatto di vasi. Naturalmente è possibile utilizzare anche leiningen IzPack - non interessa affatto il sistema di compilazione - solo per i file risultanti :-)
Dopo aver trovato l'uberjar ci sono molte opzioni per avvolgerlo in un nativo eseguibile launcher per windows - izpack2exe, jsmooth, jar2exe, executor, etc ...
Per espandere la risposta di Bozhidar, leiningen rende super facile generare un jar che pacchi l'app e le sue dipendenze. Esegui lein uberjar dal terminale quando sei all'interno della directory del progetto e creerà un file nome progetto 0.1.0-standalone.jar che può essere eseguito con java -jar dove "nome-progetto" è il nome del tuo progetto. Volete assicurarvi che sia il vostro project.clj che avete impostato: main al vostro file che ha una funzione -main. Anche nel file principale che si desidera inserire (: Gen-class) all'interno della vostra dichiarazione dello spazio dei nomi in questo modo:
(ns project-name.main
(: require ...)
(:gen-class))
- 1. implementazione foreach (doseq) in clojure
- 2. Implementazione Clojure condizionale/branching trasduttore
- 3. Clojure - implementazione predefinita del protocollo mix con implementazione personalizzata
- 4. Implementazione dell'interfaccia generica Java in Clojure
- 5. Ricerca binaria in clojure (implementazione/prestazioni)
- 6. Clojure: No implementazione del metodo nel protocollo
- 7. Implementazione di strutture dati personalizzate mediante protocolli Clojure
- 8. Estrazione dai dettagli di implementazione della struttura dati in Clojure
- 9. Implementazione del Clojure sulla parte superiore del motore V8
- 10. Implementazione del protocollo clojure non trovata per il tipo di record nell'altro namespace
- 11. trasposizione matrice nel clojure
- 12. Clojure Editor scritto in Clojure
- 13. Clojure - coda setaccio ricorsiva di Eratostene
- 14. Come incapsulare in clojure?
- 15. Funzioni nascoste di Clojure
- 16. Vantaggi di Clojure
- 17. Clojure map limits and consistency
- 18. - implementazione
- 19. Modificare il file di codice sorgente Clojure in clojure
- 20. Modelli MVC in Clojure
- 21. Datastructure pre-aggregato in clojure
- 22. Clojure: differenza tra l'implementazione di forme speciali, funzioni e macro
- 23. Server di implementazione Push
- 24. Implementazione di appartenenza personalizzataUtente
- 25. Implementazione di Alloca
- 26. Implementazione di una HashMap
- 27. Numeri di implementazione
- 28. Implementazione generica di System.Runtime.Caching.MemoryCache
- 29. Implementazione dell'algoritmo di Dijkstra
- 30. Consigli di implementazione multistadio?
Io uso Maven con il plugin di assemblaggio per costruire grande vaso con tutti i contenuti. E uso anche maven + izpack-plugin per creare programmi di installazione per le mie applicazioni –
Io uso IzPack da solo, ma ho dimenticato di menzionarlo. Grazie per l'ottimo commento, estenderò la mia risposta. –
Clojuresque (il plugin Clojure per gradle) fornisce anche un'attività uberjar, che crea un jar autonomo per un'applicazione. – kotarak