Tengo un proyecto maven de varios módulos. El pom principal se ve así:
<project> ... <packaging>pom</packaging> <modules> <module>common</module> <module>a</module> <module>b</module> </modules> </project> common construye un jar, que se agrega como dependencia en los otros módulos, así:
<dependency> <groupId>my.project</groupId> <artifactId>common</artifactId> <version>${module.common.version}</version> </dependency> Los módulos a y b son proyectos de Spring Boot que tienen el complemento spotify docker .
Necesito poder ejecutar mvn deploy para que el complemento de spotify inserte la imagen de la ventana acoplable.
mvn install funciona bien, lo que crea las imágenes de la ventana acoplable. Pero para impulsarlos, cuando ejecuto mvn deploy , arroja un error para el módulo common :
[ERROR] No se pudo ejecutar el objetivo org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) en el proyecto común: Error de implementación: el elemento del repositorio no se especificó en el POM dentro del elemento de administración de distribución o en - DaltDeploymentRepository=id::layout::url parámetro
Al buscar este error, esta respuesta sugiere agregar la URL del repositorio en la sección de administración de distributionManagement . Pero no quiero implementar common . Solo quiero construirlo, para que se inyecte como dependencia en los otros módulos e implemente esos otros módulos. ¿Cómo puedo hacer eso?
Traté de implementar solo a y b usando este comando, pero da el mismo error para common :
mvn clean \ -DdockerRegistryHost=123.dkr.ecr.us-west-1.amazonaws.com/test1 \ --projects a,b \ --also-make \ deployPuede lograr lo que desea configurando maven-deploy-plugin .
Intente agregar lo siguiente a su pom principal:
<build> ... <pluginManagement> <plugins> <plugin> <artifactId>maven-deploy-plugin</artifactId> <version>3.0.0-M1</version> <configuration> <skip>true</skip> </configuration> </plugin> </plugins> </pluginManagement> ... </build> o agregue -Dmaven.deploy.skip=true a su línea de comando.