2010-08-18 12 views

Respuesta

14

me escribió algunas notas sobre esto en el libro "aplicación efectiva", pero no hay ninguna regla o convención canónica.

resumir algunos:

En primer lugar, lo más importante es que usted es constante.

La convención de General Maven usa '-' como el separador (commons-lang, maven-model).

Si tiene la intención de que sea utilizado externamente, recuerda el module = artifact ID = filename (en las mejores prácticas), por lo que debe ser reconocible (maven-model-2.0.jar es clara, no es model-2.0.jar). En este caso, generalmente se repite el último elemento de la identificación del grupo como un mini espacio de nombres. Los módulos "internos" pueden omitirlo por brevedad (como muestra la aplicación de ejemplo: http://github.com/brettporter/centrepoint/tree/master/centrepoint/modules/).

Aparte de eso, los mantendría lo más cortos posible.

Puede dibujar el paralelismo entre el paquete de Java y las convenciones de nomenclatura de clase para el grupo Maven y los identificadores de artefactos.

2

Usted puede incluso ir un paso más allá:

-- project 
    -- project-module-1 
    -- project-module-2 

Sin broma ahora, esto es realmente una cuestión de gusto.

tenga un buen día Maksim

+3

Buena sugerencia . Sin embargo, en esta estrategia de nombres preferiría reservar el carácter "-" para separar los módulos anidados. Entonces, "project-module-1" significaría que hay un proyecto padre "project", que tiene un "project module" hijo, que tiene un proyecto hijo "1". –

+0

Entonces project-module_1 haría el trabajo. –

4

Normalmente trato de mantener breves los nombres de los módulos. Si el nombre 'quiere' ser largo, eso indica que otro nivel de anidación probablemente sea una buena idea. Así que en lugar de esto:

- root 
    - api 
    - impl 
    - security 
    - service-soap 
    - service-rest 
    - client-swing 
    - client-web-html 
    - client-web-mobile 

me había nido cosas adicionales:

- root 
    - api 
    - impl 
    - security 
    - service 
     - soap 
     - rest 
    - client 
     - swing 
     - web 
      - html 
      - mobile 

través de las opciones del reactor de Maven es posible construir los módulos anidados aislados de la parte superior:

mvn -pl client/web clean install 
Cuestiones relacionadas