En primer lugar, voy a (regresar) a Java desde C#, así que me disculpo si mi terminología o filosofía no se alinean del todo.Separación de paquete frente a proyecto en java
Aquí está el fondo: tenemos una creciente colección de herramientas internas de soporte escritas para la web. Usan HTML5/AJAX/otras palabras de moda para el frontend y Java para el back-end. Estas herramientas utilizan un marco interno liviano para que puedan compartir una interfaz administrativa para seguridad y otra configuración. Cada herramienta ha sido escrita por un autor diferente y espero que esa tendencia continúe, por lo que me gustaría facilitar que los futuros autores permanezcan "estandarizados" en las bibliotecas de terceros que ya hemos decidido utilizar para las cosas como DI, las pruebas unitarias, ORM, etc.
Nuestra denominación paquete actualmente tiene el siguiente aspecto:
- com.ourcompany.tools.framework
- com.ourcompany.tools.apps.app1name
- com.ourcompany.tools.apps.app2name
... y así sucesivamente.
Así que aquí está mi pregunta: ¿debería tratar cada una de estas aplicaciones (y el marco) como un proyecto separado para propósitos de configuración de Maven, Eclipse, etc.?
Podríamos tener muchas aplicaciones que aparecen aquí a lo largo del tiempo, por lo que parece que la separación mantendría las dependencias más limpias y permitiría a alguien recurrir a una sola herramienta más fácilmente. Por otro lado, (1) tal vez "dividir" porciones más profundas de una estructura de paquete sobre múltiples proyectos es un olor a código y (2) mantenerlos combinados haría que los escritores de herramientas se inclinaran más a utilizar bibliotecas de terceros ya instaladas para el otro herramientas.
FWIW, mi instinto inicial es separarlos.
¿Qué dicen ustedes, gurús de Java?
No conocía el concepto pom padre para el manejo de la dependencia hasta que lo mencionó. Me gusta mucho esta idea para reforzar algunas estandarizaciones en todas las aplicaciones. Las otras respuestas también son geniales, pero el pom padre da una ventaja a este. ¡Gracias! –