Si tiene el Proyecto A y necesita todas las dependencias del Proyecto B, ¿declara al Proyecto B padre del Proyecto A, usando herencia o una dependencia del proyecto A? Parecen tener el mismo efecto.Declarar como dependencia o como padre
Respuesta
Los dos enfoques son diferentes, uno es la herencia y el otro es una dependencia simple.
por la dependencia que sólo tendrá las dependencias transitivas binarios del proyecto B.
Al utilizar como un proyecto principal que va a heredar las configuraciones como plugins, la construcción de modelo, repositorios, la gestión de la dependencia, dependencias y etc., depende del caso.
Mi regla de oro es para la configuración de scm, la configuración del proyecto y las normas de desarrollo o de la compañía. Utilizo un proyecto principal (herencia).
Yo diría que si el proyecto B es destinados a actuar como un "padre universal" o algo por el estilo - es decir, un punto de partida para muchos proyectos con dependencias idénticos (o con el mismo punto de partida para sus dependencias) luego avance y haga que B sea parent
.
De lo contrario, si es en realidad más de una "cosa útil tener" - por ejemplo, que tiene métodos de utilidad/tipo de núcleo que muchos de los proyectos encontrarán útil, pero no dependen para su existencia, entonces lógicamente es una dependencia.
Incluso podría considerar dividir el Proyecto B en dos a lo largo de esas líneas. Eso es lo que he hecho en el pasado:
mygroup-parent
es un proyecto que consiste únicamente en un fichero POM con dependencias que quiero cada proyecto a conseguir - la aplicación de un enfoque estándar. Por ejemplo, tengo TestNG
y Mockito
allí.
mygroup-core
es un proyecto completo de Java que tiene cosas útiles que se acostumbran mucho, pero no son una necesidad. Tengo métodos de ayuda para cosas específicas de mi sitio y dependencias como Apache HttpClient
y Google Guava
.
- 1. declarar propiedad como objeto?
- 2. Instalar ScientificPython como una dependencia
- 3. Declarando JAXB como una dependencia. ¿Por qué?
- 4. ¿Cómo declarar o marcar un método Java como obsoleto?
- 5. ¿Debo declarar como modelo objeto estático
- 6. ¿Por qué declarar una interfaz como abstracta?
- 7. ¿Cómo declarar mi propio CGRectZero como constante?
- 8. ¿Es posible declarar una matriz como constante
- 9. SQLite cómo declarar como matriz de bytes?
- 10. ¿Es necesario declarar una AtomicReference como volátil?
- 11. Declarar EditarTexto como TextView en Android
- 12. JDK tools.jar como dependencia de maven
- 13. Instalar numpy como dependencia con setuptools
- 14. JavaFX 2 como una dependencia de Maven
- 15. Puntero como miembro o Referencia como miembro
- 16. Declarar un índice como único en SQL Server
- 17. ¿Beneficios de declarar una función como "en línea"?
- 18. ¿Por qué no puedo declarar una lista genérica como anulable?
- 19. Rails Active Record seleccione padre e hijo como un resultado
- 20. Cómo selecciono una clase padre como clase secundaria
- 21. Como llegar padre y sólo un nodo hijo
- 22. Si una clase se declara como final es necesario declarar los métodos como finales
- 23. ¿Debo declarar/Inicializar ArrayLists como listas, ArrayLists, o ArrayLists de <Cat>
- 24. C# "debe declarar un cuerpo porque no está marcado como abstracto, externo o parcial"
- 25. ¿La diferencia entre declarar una variable como "var $ foo" o "$ foo" en PHP?
- 26. ¿Debo declarar convertidores en App.xaml o como un recurso por archivo?
- 27. ¿Por qué declarar las clases Mapper y Reducer como estáticas?
- 28. La importancia de declarar una variable como no firmada
- 29. ¿Cómo declarar las "variables" locales como finales en Objective-C?
- 30. ¿Es aceptable declarar una clase privada como un alias?