Estoy usando Leiningen (por primera vez) para administrar una aplicación de mi escritura. Hasta el momento he definido las dependencias del proyecto, he instalado deps en el directorio lib del proyecto y he definido una función. Cuando ejecuto lein repl
desde la raíz del proyecto y luego llamo a la función que he definido, obtengo el error unable to resolve symbol
. ¿Alguien sabe lo que estoy haciendo mal y cómo ejecutar correctamente mi aplicación a través de Leiningen? Gracias.¿Cómo ejecutar código con Leiningen?
Respuesta
desde la leiningen repl tendrá que cambiar al espacio de nombre con el que se definió su función con la macro in-ns
.
(in-ns 'myproject.core)
entonces la función debe estar disponible
usted podría también use
ese espacio de nombres a partir de la réplica de incluirlo en el espacio de nombres por defecto (usuario).
(use 'myproject.core)
después de que es posible que desee considerar el mirar en los lein run
, lein uberjar
y lein jar
tareas Leiningen.
En mis proyectos, por un archivo core.clj que contiene un espacio de nombres define así:
(ns my-project.core)
... puse la llave :main
en el mapa de Leiningen defproject
en project.clj:
(defproject my-project "1.0.0-SNAPSHOT"
:description "My project description"
:dependencies [[org.clojure/clojure "1.2.1"]]
:main my-project.core)
Así que cuando corro lein repl
, mi espacio de nombres del núcleo se carga automáticamente, y veo esto:
mac:my-project scott$ lein repl
REPL started; server listening on localhost:31515.
my-project.core=>
Si tuviera que usar': main', ¿se realiza automáticamente el reemplazo del código de programación? – sjac
No estoy seguro de si está preguntando si el Leiningen busca automáticamente los cambios de archivos y los carga en su REPL en vivo, pero no hace eso. Sin embargo, en lugar de reiniciar el REPL, puede ejecutar lo siguiente para cargar el último código: '(use: reload-all 'my-project.core)' – Scott
- 1. leiningen con múltiples clases principales
- 2. Java y Clojure con Leiningen
- 3. Opciones de JVM con Leiningen
- 4. ¿Cómo hago referencia a funciones en otros archivos con leiningen?
- 5. ¿Cómo puedo configurar Leiningen para trabajar con múltiples proyectos?
- 6. ¿Cómo instalar un plugin leiningen?
- 7. Usando clojure y leiningen con IDEs
- 8. Distribución de aplicaciones con Clojure Leiningen
- 9. argumentos de línea de comando con leiningen
- 10. Leiningen e Ivy Repo
- 11. Leiningen: ¿cómo matar el proceso del niño?
- 12. ¿Ejecutar datos como código?
- 13. Clojure Leiningen instalación fuera de línea
- 14. Leiningen: falta super-pom
- 15. Trabajar con Java desde Emacs dentro del proyecto Leiningen
- 16. Cómo conjunto recurrente AlarmManager ejecutar código diaria
- 17. Cómo ejecutar NUnit desde mi código
- 18. ¿Cómo ejecutar el código C++ sin compilarlo?
- 19. Push to Nexus usando Leiningen
- 20. leiningen install lein-noir failed
- 21. ¿Cómo ejecutar código MATLAB desde Java?
- 22. ¿Cómo ejecutar mi código Go en Android?
- 23. ¿Cómo compilar y ejecutar código dinámicamente?
- 24. ¿Cómo ejecutar ZeroMQ con Java?
- 25. ¿Cómo ejecutar esquema con Emacs?
- 26. Dependencias en los repositorios locales de maven con leiningen
- 27. ¿Cómo hacer para que Emacs, nrepl.el y Leiningen jueguen bien?
- 28. ejecutar código Java en Java
- 29. Use DLR para ejecutar el código generado con CompileAssemblyFromSource?
- 30. ¿Cómo ejecutar runCommand con Mongoose?
No tenía conocimiento de 'lein run', ¿me puede indicar dónde puedo encontrar la información de mroe? He establecido ': main' en el espacio de nombres de mi proyecto, pero estoy teniendo dificultades para usar' lein run' con argumentos; Obtengo continuamente 'Exception in thread' main "java.lang.NullPointerException (NO_SOURCE_FILE: 1)' – sjac
Si ejecuta 'lein help' (o incluso' lein' solo) se muestra una lista de comandos. Puedes cavar más profundo con el nombre del comando; por ejemplo: 'lein help run' – Scott