我有一个多模块的maven项目。父pom文件如下:
<project>
...
<packaging>pom</packaging>
<modules>
<module>common</module>
<module>a</module>
<module>b</module>
</modules>
</project>
common
构建一个 jar 文件,其他模块通过将其作为依赖项添加来使用,例如:
<dependency>
<groupId>my.project</groupId>
<artifactId>common</artifactId>
<version>${module.common.version}</version>
</dependency>
模块a
和b
是Spring Boot项目,具有Spotify Docker插件。
我需要能够运行mvn deploy
,以便使 Spotify 插件推送 Docker 镜像。
mvn install
可以正常工作,它构建了 Docker 镜像。但是为了将它们推送到 Docker 仓库,在运行mvn deploy
时,它会为common
模块抛出错误:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project common: Deployment failed: repository element was not specified in the POM inside distributionManagement element or in -DaltDeploymentRepository=id::layout::url parameter
在寻找此错误时,这个答案建议在distributionManagement
部分中添加存储库 URL。但是我不想部署common
。我只想构建它,以便将其注入其他模块作为依赖项并部署那些其他模块。我该怎么做?
我尝试使用此命令仅部署a
和b
,但它为common
给出了相同的错误:
mvn clean \
-DdockerRegistryHost=123.dkr.ecr.us-west-1.amazonaws.com/test1 \
--projects a,b \
--also-make \
deploy
maven-deploy-plugin
配置为 executions=none 吗? - chrylis -cautiouslyoptimistic-