2012-08-22 13 views
5

Tengo un archivo jar llamado "stdlib.jar". Esto tiene muchas clases en su "Default Package". He agregado este stdlib.jar a mis Bibliotecas NetBeans. y también "Build"-ed sin usar nada de stdlib.jar. Para que stdlib.jar se pueda agregar a mi carpeta "./dist/lib". Pero todavía no puedo usar ninguna clase dentro de stdlib.jar ¿Qué debo hacer para reutilizar cualquier clase dentro de stdlib.jar?Agregar clases predeterminadas del paquete en NetBeans

Respuesta

3

Se desaconseja utilizar el paquete "Paquete predeterminado" para bibliotecas o incluso para un proyecto. Si usa el paquete predeterminado, el nombre de las clases debe ser único o anularán todas las clases java.lang.

Ahora viene a su situación. Para usar su stdlib.jar si lo ha agregado a su biblioteca, entonces debería poder usarlo. Puede usar su stdlib.jar desde su paquete predeterminado del proyecto en el que lo está utilizando. Aparte del paquete predeterminado, no puede usarlo ya que buscará su clase stdlib.jar en ese paquete.

Espero que esto te aclare. Gracias.

+0

Pero no resolvió mi problema. He agregado "stdlib.jar" a las Bibliotecas. e intentó acceder a una clase dentro de él. No puede encontrar esa clase. ¿Qué puedo hacer? Por favor sugiere alguna forma. Sé que se puede hacer simplemente extrayendo la clase del contenedor y luego agregando ese archivo java a la fuente. pero no quiero hacer eso. Porque es posible que necesite otras clases de "stdlib.jar" también. " –

+1

si tiene clases en el paquete predeterminado, puede acceder a ellas solo desde el paquete predeterminado. No puede hacer nada más ... – pratikabu

+0

Gracias. Solo lo resolvió. entonces viste tu publicación. –

1

Usted está usando el libro de texto de Sedgewick, ¿verdad? Si es así, lea las preguntas más frecuentes:

P. Si utilizo un paquete con nombre para estructurar mi código, el compilador ya no puede acceder a las bibliotecas en stdlib.jar. Por qué no?

A. Las bibliotecas en stdlib.jar están en el paquete "predeterminado". En Java, no puede acceder a clases en el paquete predeterminado desde un paquete nombrado. Si es necesario utilizar nuestras bibliotecas con un paquete con nombre, puede utilizar la versión empaquetada stdlib-package.jar

La misma pregunta aquí: Getting a library to import properly in netbeans

0

Si está utilizando el libro de texto de Sedgewick o algoritmos curso sobre Coursera, esto puede ser de ayuda .

Como se mencionó anteriormente, las bibliotecas en stdlib.jar están en el PAQUETE PREDETERMINADO. En Java, no puede acceder a clases en el paquete predeterminado desde un paquete nombrado. Así que debe mover sus archivos de origen a un PAQUETE PREDETERMINADO de su proyecto. Significa que debe mover los archivos .java fuente de la carpeta ./src/YOURPACKAGE/ directamente a la carpeta ./src de su proyecto, luego elimine la carpeta YOURPACKAGE. También debe eliminar el "paquete YOURPACKAGE"; declaración al comienzo de su (s) archivo (s) de origen.

Básicamente eso es todo lo que necesita hacer. Ahora, cuando movió sus archivos de origen al paquete predeterminado y agregó "stdlib.jar" a las Bibliotecas, no tendría problemas para abordar las clases desde la biblioteca. No necesita ninguna declaración de "importación" para ellos.

Cuestiones relacionadas