2010-02-05 13 views
7

Estoy escribiendo código clojure, y estoy confiando en el tiempo Joda para manejar el tiempo. El problema es que no sé qué importar y la documentación no es muy clara al respecto. Ahora sé que alguien aquí probablemente pueda darme la respuesta correcta en menos de 5 segundos, pero preferiría saber cómo resolver esto por mi cuenta (además de revisar los documentos hasta encontrar la respuesta correcta).¿Cómo averiguo qué espacio de nombres necesito importar de una biblioteca java?

Si estuviera haciendo esto en Python, importaría el paquete de nivel superior y usaría una combinación de dir y help para descubrir lo que necesito importar. ¿Hay alguna manera de hacer esto en Clojure? ¿O hay otros tipos de herramientas de Java para resolver esto? Prefiero algo orientado a la línea de comandos.

+0

Para el registro, lo encontré haciendo una búsqueda rápida en Google. Es 'org.joda.time'. Pero aún me gustaría saber una mejor manera de encontrarlo. –

Respuesta

8

Normalmente elegiría la respuesta de David Grant, pero si no puede encontrar JavaDoc (!), Pero tiene un archivo jar, puede usar la utilidad jar para enumerar los archivos en el contenedor.

El directorio de los archivos de clase están en el mapa directamente a su nombre de paquete. Por ejemplo, jar -tf joda-time-1.6.jar | more lista DateTime.class como org/joda/time/DateTime.class; DateTime está en el paquete org.joda.time.

+1

Realmente no es tanto que * no * pueda encontrarlo tanto como que no * quiero * encontrarlo. :-) Si ya estoy en la línea de comandos o en emacs y quiero averiguar cuál es la cadena de importación, es mucho más fácil hacer 'jar -tf' de lo que sería para mí cambiar al navegador y encuentra el javadoc. –

3

De la misma manera que dir y help examinarán la documentación de los paquetes en Python, la información útil en Java se puede obtener leyendo los Javadocs para una API particular. En el caso de Joda Time, el sitio web tiene un enlace directo a la documentación generada, aquí:

http://joda-time.sourceforge.net/api-release/index.html (véase el cuadro inferior izquierdo)

No puedo pensar en nada fuera de mano que es directamente comparable a lo que pregunta, ya que a menos que le solicite al cargador de clases una clase en particular, el cargador de clases no la cargará y no podrá encontrarla.

+0

Para el registro, 'dir' no verifica la documentación. Introspecta el objeto en sí. :-) –

+0

@Jason Baker: gracias. :) –

Cuestiones relacionadas