Después de consultar expertos en el tema, programadores de varias áreas y profesores hemos dado con la respuesta al problema y la compartimos en este post.
Solución:
La rareza es muy subjetiva, solo sugiero seguir la recomendación oficial:
Guía de convenciones de nomenclatura en groupId, artefactoId y versión
groupId
identificará su proyecto de manera única en todos los proyectos, por lo que debemos aplicar un esquema de nomenclatura. Tiene que seguir las reglas de nombre del paquete, lo que significa que tiene que ser al menos como un nombre de dominio que controlas, y puedes crear tantos subgrupos como quieras. Consulte Más información sobre nombres de paquetes.p.ej.
org.apache.maven
,org.apache.commons
Una buena manera de determinar la granularidad de groupId es usar la estructura del proyecto. Es decir, si el proyecto actual es un proyecto de varios módulos, debe agregar un nuevo identificador al ID de grupo principal.
p.ej.
org.apache.maven
,org.apache.maven.plugins
,
org.apache.maven.reporting
artifactId
es el nombre del jar sin versión. Si lo creaste, puedes elegir el nombre que quieras con letras minúsculas y sin símbolos extraños. Si se trata de un tarro de terceros, debe tomar el nombre del tarro tal como se distribuye.p.ej.
maven
,commons-math
version
si lo distribuye, puede elegir cualquier versión típica con números y puntos (1.0, 1.1, 1.0.1, …). No use fechas, ya que generalmente se asocian con compilaciones SNAPSHOT (nocturnas). Si se trata de un artefacto de terceros, debe usar su número de versión, sea cual sea, y por extraño que parezca.p.ej.
2.0
,2.0.1
,1.3.1
Su convención parece ser razonable. Si estuviera buscando su marco en el repositorio de Maven, buscaría awesome-inhouse-framework-x.y.jar
en com.mycompany.awesomeinhouseframework
directorio de grupos. Y lo encontraría allí de acuerdo con su convención.
Dos reglas simples funcionan para mí:
- paquetes de dominio inverso para groupId (ya que son bastante únicos) con todas las restricciones relacionadas con los nombres de los paquetes de Java
- nombre del proyecto como artefactoId (teniendo en cuenta que debe ser amigable con el nombre del jar, es decir, no contener caracteres que tal vez no sean válidos para un nombre de archivo o que simplemente se vean extraños)
Considere seguir en cuanto a la construcción básica primero Experto solicitud:
groupId
- com.nombredeempresa.proyecto
artifactId
- proyecto
version
- 0.0.1
Reseñas y puntuaciones del post
Finalizando este artículo puedes encontrar las explicaciones de otros gestores de proyectos, tú aún eres capaz insertar el tuyo si te apetece.