2012-06-12 15 views
11

¿Cuál es la estructura de directorio de proyecto estándar de una aplicación independiente de Java SE (línea de comandos)?¿Cuál es la estructura del directorio del proyecto para una aplicación Java SE independiente?

src carpeta contendrá todos mis archivos .java en paquetes debidamente organizados. Aparte de eso, tengo la carpeta bin que contendrá mis archivos .class.

Tengo archivos de propiedades y archivos de configuración XML en mi proyecto. ¿En qué directorio debo colocarlos? ¿Debo crear un paquete llamado com.myproject.config y colocar todos los archivos de configuración .xml en eso?

Quiero que los frascos dependientes se empaqueten junto con mi paquete final. Entonces, ¿debería crear una carpeta (por ejemplo, con el nombre lib) para contener todos estos archivos .jar?

+0

Puede hacer lo que usted describe. No hay restricción ni mejor forma aceptada. –

+1

Mucho de esto depende de qué herramienta de compilación/IDE está utilizando. Tenga en cuenta que si empaqueta todo usted mismo, es teóricamente posible utilizar casi cualquier estructura, mientras que un IDE típicamente configurará una estructura que usa más comúnmente. En cuanto a * "crear un paquete llamado com.myproject.config" * Sí, eso parece razonable. –

+1

Creo que utilizar Maven para construir su proyecto es una buena opción. – plucury

Respuesta

17

recomendaría seguir con defecto Maven diseño (y también utilizar Maven como herramienta de construcción)

Productivos clases/recursos:

src/main/java 
src/main/resources 

Los datos de prueba y clases:

src/test/java 
src/test/resources 

Maven también puede encargarse de empaquetar su aplicación correctamente con todos los jar necesarios (busque el plugin maven assembly)

+8

Para el perezoso: 'mkdir -p src/{main, test}/{java, resources}' –

+1

Más en detalle aquí: https://maven.apache.org/guides/introduction/introduction-to-the-standard -directory-layout.html –

3

Hasta donde yo sé, no existe una estructura de proyecto estándar para Java per se. Sin embargo, varias herramientas e IDE (como Eclipse) tienen una estructura estándar.

Maven, una herramienta de compilación para Java, por otro lado tiene una estructura de proyecto muy definida (por defecto). Allí, todos los archivos fuente de Java se colocan en la carpeta src/main/java y todos los archivos de recursos (como sus archivos de configuración) se colocan en src/main/resources.

He aquí una breve introducción a Maven, si no lo saben todavía: Maven in 5 Minutes


En cuanto a su pregunta sobre el embalaje con dependencias, que aquí hay una cortada con tijeras de uno de mis archivos POM Maven que utiliza la Assembly Plugin para crear un archivo JAR con todas las dependencias incluyen:

<plugin> 
    <artifactId>maven-assembly-plugin</artifactId> 
    <configuration> 
     <descriptorRefs> 
      <descriptorRef>jar-with-dependencies</descriptorRef> 
     </descriptorRefs> 
     <archive> 
      <manifest> 
       <mainClass>...</mainClass> 
      </manifest> 
     </archive> 
    </configuration> 
    <executions> 
     <execution> 
      <id>make-assembly</id> 
      <phase>package</phase> 
      <goals> 
       <goal>single</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 
3

una estructura que se utiliza comúnmente es la siguiente:

  • src - contiene todos los archivos de origen, y posiblemente también lo siguiente (podría ser muy abajo el árbol de carpetas):
    • recursos - contiene recursos tales como archivos de propiedades
    • config - todo de configuración relacionados
  • lib - una carpeta que contiene una de sus bibliotecas, posiblemente colocado en subfolderrs separados
  • bin - clases compiladas contiene
0

src/com.enterprise_name.project_name. Main.java (la clase principal)

src/com.enterprise_name.project_name.model. (aquí todas las clases de modelo)

src/com.enterprise_name.project_name.view. (aquí todas las clases de vista, JFrame, Jdialog, etc.)

src/com.enterprise_name.project_name.view.resources. (en este caso todos los archivos y las imágenes utilizadas en las vistas * Nota)

src/com.enterprise_name.project_name.controller. (aquí todas las clases de controlador)

lib/ (aquí todas las bibliotecas externas - No se olvide de añadir la construcción de la ruta)

* Nota si necesita algún archivo de recursos (XML, archivos de configuración, etc.) crear un paquete .resources. en el lugar específico donde lo necesita (modelo, controlador, vista)

Cuestiones relacionadas