2012-03-01 43 views
42

Me gustaría saber cuál es la diferencia entre la estructura de carpetas y el paquete utilizado en Eclipse IDE para el desarrollo de Java EE.Paquete Java Vs Carpeta-Estructura? cuál es la diferencia

¿Cuándo usamos cuál y por qué?

¿Cuál debería ser la práctica

  • crear una estructura de carpetas como src/com/utils y luego crear una clase en su interior
  • crear un paquete como src.com.util y luego crear una clase en el interior es

qué opción sería mejor y más fácil de implementar si tuviera que escribir un script ant más tarde para la implementación?

si voy por la estructura de carpetas ¿la implementación será tan fácil como copiar archivos del desarrollo al destino de despliegue?

Respuesta

27

Si configuró las cosas correctamente. Agregar una carpeta dentro de src, es lo mismo que agregar un paquete desde File > New Package.

Por lo tanto, depende de usted, lo que sienta cómodo para usted: agregue una carpeta o cree un paquete. Además, cuando coloca productos bajo src, el nombre del paquete comienza desde la subcarpeta. Por lo tanto, src/com/naishe/test será el paquete com.naishe.test.

+6

heh alguien se volvió loco y -1ed todas las respuestas! – Nishant

+0

¿Quién era? ¿Se deshicieron los votos? – Pacerier

3

crear un paquete como 'src.com.util'

Eso suena como un error. El nombre del paquete debe ser 'com.util', y 'src' es el nombre de la carpeta de origen.

Aparte de eso, no veo la diferencia entre sus dos opciones. El resultado es el mismo, ¿verdad? Solo pasos diferentes en la GUI para llegar a ella. El asistente para crear un nuevo paquete en Eclipse es solo un envoltorio para crear la jerarquía de carpetas apropiada dentro de una carpeta fuente.

No necesita crear paquetes vacíos, puede crear clases directamente (el paquete se creará automáticamente si aún no existe).

10

Básicamente no hay diferencia, ambos son iguales.

En ambos casos, la estructura de la carpeta será src/com/utils.

y en los dos casos, tendrá que mencionar

package com.utils; 

como primera línea en el class

Ya que no tiene prácticamente ninguna diferencia, que no hará ninguna diferencia para ant script.

8

"El empaquetado nos ayuda a evitar colisiones cuando utilizamos el mismo nombre de clase que el de otros. Por ejemplo, si tenemos un nombre de clase llamado" Vector ", su nombre se bloqueará con la clase Vector de JDK. Sin embargo, esto nunca ocurre porque JDK usa java.util como nombre de paquete para la clase Vector (java.util.Vector). Así que nuestra clase Vector puede llamarse "Vector" o podemos ponerla en otro paquete como com.mycompany .Vector sin pelear con nadie.Los beneficios del uso del paquete reflejan la facilidad de mantenimiento, la organización y la mayor colaboración entre los desarrolladores. Comprender el concepto de paquete también nos ayudará a gestionar y utilizar los archivos almacenados en archivos jar de manera más eficiente."

la salida http://www.jarticles.com/package/package_eng.html para obtener más información sobre los paquetes

+0

Desafortunadamente esto no justifica por qué necesito crear 'com/mycompany/project/package/name/here'-subdirectories en mi sistema de archivos. ¿No hay una opción para unir los directorios 'com/mycompany/project/package/name' para guardar el tipeo y evitar presionar' MAX_PATH'? – Dai

1

Un paquete es automática 'carpeta de origen', donde carpeta es solo una carpeta normal. Al compilar un proyecto Eclipse, todos los archivos de las carpetas de origen están compilados pero no en carpetas normales (a menos que esas carpetas regulares a)

Cuestiones relacionadas