2009-11-08 19 views
8

Dado un paquete x.y.z java, puedo crear un alias x.y.z a un nombre más corto, de modo que pueda entonces hacer referencia a las clases de Java dentro del paquete como mi-alias.MyJavaClass.Aliasing un nombre de paquete Java en clojure

Si eso no es posible, podría simplemente import todas las clases en mi espacio de nombre, pero no quiero especificar los nombres de cada clase manualmente, y los documentos de la API de clojure no parecen claros sobre si es posible import a todas las clases en un paquete de forma automática.

Respuesta

10

hay (todavía) no es ninguna funcionalidad para esto. paquetes de Java están en un espacio de nombres diferente de Clojure de, por lo que los trucos habituales de alias no funcionarán.

Lo que puede hacer es importar cada clase, lo que le permite evitar el paquete completo + nombre de la clase:

(import [java.io File Writer Reader]) 
(new File "/") 
; #<File /> 

Rich ofrece sus razones para no apoyar (import [java.io.*])here.

Cuestiones relacionadas