Estoy considerando cambiar mi build de proyectos de Ant a leiningen y quería saber si hay un Clojure IDE (intellij, eclipse, netbeans) para el cual los botones "build" y "debug" ¿seguirá funcionando?Usando clojure y leiningen con IDEs
Respuesta
He tenido un poco de suerte con La Clojure y el complemento "Leiningen" para IntelliJ IDEA. Después de crear un nuevo proyecto en la línea de comandos con lein new
, creé un nuevo proyecto en IntelliJ. La ruta del script de configuración de ejecución debe apuntar al archivo core.clj, y las "dependencias" de la configuración del módulo deben incluir el directorio lib como una "biblioteca de módulos".
El plugin Leiningen ofrece los comandos lein habituales, por lo que puede construir su jar directamente desde el IDE (o desde el shell). Puede editar su archivo project.clj desde IDEA, y Run y Debug parecen funcionar también.
BTW, también encontré this screencast muy útil para empezar a usar La Clojure.
gracias. puede (¿ahora?) abrir un proyecto de lein existente utilizando la opción "abrir proyecto" en el menú de archivo, pero aún necesito agregar el directorio de lib como lo describe. –
Es difícil ser definitivo acerca de esto sin pasar por la última versión de cada complemento IDE para Clojure, pero como alguien que se mantiene al tanto de Leiningen y de los desarrollos relacionados con IDE en general, no he visto esta funcionalidad en ningún lado. Las palabras IDE, eclipse y netbeans tampoco se han mencionado en el grupo de google de Leiningen, y supongo que si alguien estuviera trabajando en esto, lo mencionarían allí.
Sin embargo, Leiningen es realmente fácil de usar en la línea de comandos, así que no tema intentarlo. He estado convirtiendo mis proyectos en lein de usar tanto hormigas como maven anteriormente. El seguimiento de la dependencia es realmente útil y cada semana salen más complementos que agregan nuevos comandos útiles. Si realmente necesita la integración de IDE, una forma ligera de hacerlo podría ser agregar algún tipo de comando de comando personalizado o botón que simplemente se ejecute en segundo plano.
La mejor integración que he encontrado es con slime-clojure a través de lein-swank.
Básicamente, utiliza el comando lein swank para iniciar un servidor swank con un classpath configurado por Leiningen. Luego, te conectas a ese servidor elegante usando M-x slime-connect, y tienes la respuesta correcta para continuar. Bueno, siempre que pueda tratar con emacs;)
He estado usando el plugin Eclipse y CounterClockwise con Leiningen configurado para acceder a través del External Tools. Como dice el título de la publicación de blog, es una "Integración de pobres", pero ha funcionado para el ejemplo que he probado.
Funciona como un encanto. ¡Tu consejo muy apreciado merece más votos favorables! –
Hola, lo probé, pero desafortunadamente, ejecutar "nuevo" creó un nuevo proyecto completo dentro del proyecto existente, no solo los archivos clj. ¿Encontraste esto también? –
FYI: El enlace "Integración del pobre" está muerto ahora que Posterous Spaces se ha cerrado. – RJHunter
Para la depuración, resaltado de sintaxis, y clojure corriendo en Eclipse intento:
Descargar la izquierda para resaltar la sintaxis a través de herramientas externas utilizando the update site.
Agregue
[lein-eclipse "1.0.0"]
a sus dependencias en su archivo project.clj.Agregue el complemento manualmente con el comando:
lein plugin install lein-eclipse "1.0.0"
. Este paso está incluido porque simplemente agregar la dependencia no siempre funciona.Ejecute el comando
lein eclipse
en la carpeta del proyecto para generar archivos eclipse .project y .classpath. Este paso puede tomar un tiempo. Si se atasca, ejecútalo de nuevo. Debería decir "creado .project y .classpath".Reiniciar Eclipse.
Ir a | Archivo -> Importar -> General -> Proyectos existentes en el espacio de trabajo | y selecciona la carpeta del proyecto. Debería poder seleccionar el proyecto clojure, depurarlo y ejecutarlo.
Notas: No parece agregar las dependencias de desarrollo al classpath del proyecto. Además, debe cambiar su área de trabajo a la carpeta con el proyecto para que no haga una segunda copia del proyecto y use los archivos reales.
Leiningen dice "La tarea del complemento se ha eliminado". al ejecutar "lein plugin install lein-eclipse 1.0.0". ¿Algunas ideas? – user1338062
¿Está ejecutando lein 2.0? Si es así, debe usar el perfil ': user' para especificar complementos. Esto se explica aquí: https://github.com/technomancy/leiningen/wiki/Upgradeding Buen punto: el paso 3 debe hacerse con el perfil ': user' para lein 2.0 –
He estado usando Intellij IDEA + La Clojure.
- Run
lein pom
para crear un archivopom.xml
de Maven. - Cree un nuevo proyecto en Intellij IDEA y seleccione crear en el proyecto Maven.
Cuando cambie las dependencias con Leiningen, actualice el pom.xml
.
- 1. Java y Clojure con Leiningen
- 2. Distribución de aplicaciones con Clojure Leiningen
- 3. Opciones de JVM con Leiningen
- 4. Push to Nexus usando Leiningen
- 5. Clojure Leiningen instalación fuera de línea
- 6. IDEs Java vs IDEs de Microsoft
- 7. Leiningen: falta super-pom
- 8. clojure read-line falla dentro de la prueba de Leiningen
- 9. Instalación de Leiningen de Clojure en Linux Mint 12
- 10. argumentos de línea de comando con leiningen
- 11. ¿Cómo ejecutar código con Leiningen?
- 12. en Eclipse Leiningen No se pudo localizar clojure/contrib/o duck_streams__init.class clojure/contrib/duck_streams.clj
- 13. leiningen con múltiples clases principales
- 14. ¿Cómo hacer para que Emacs, nrepl.el y Leiningen jueguen bien?
- 15. Detener bucles infinitos durante la ejecución de pruebas de clojure en emacs con leiningen y swank/limo
- 16. Trabajar con Java desde Emacs dentro del proyecto Leiningen
- 17. Free C Language IDEs?
- 18. leiningen install lein-noir failed
- 19. Agrupación (fkmeans) con Mahout usando Clojure
- 20. ¿Qué IDEs tienen un buen soporte para programar con CUDA?
- 21. Ir a la definición de función en Emacs + Slime/leiningen-Swank + Clojure
- 22. Emacs con Slime y Swank para proyectos que no son de Leiningen
- 23. Explicación/documentación del macroproyecto de leiningen
- 24. Dependencias en los repositorios locales de maven con leiningen
- 25. Usando cotización en Clojure
- 26. ¿Cómo se manejan diferentes IDEs Java y svn?
- 27. Problema al instalar leiningen en mac os
- 28. ¿Cómo hago referencia a funciones en otros archivos con leiningen?
- 29. Clojure jdbc create-table statement no se ejecuta a menos que use Leiningen REPL
- 30. Leiningen e Ivy Repo
CounterClockwise (para Eclipse) ahora tiene integración con Leiningen y genera proyectos de noticias como proyectos de Leiningen. –