【发布时间】:2019-10-10 14:18:37
【问题描述】:
我有一个多模块 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 是具有spotify docker plugin 的Spring Boot 项目。
我需要能够运行 mvn deploy 才能让 spotify 插件推送 docker 映像。
mvn install 工作正常,它构建了 docker 镜像。但是为了推动它们,当我运行mvn deploy 时,它会为common 模块抛出错误:
[ERROR] 未能执行目标 org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (默认部署)项目常见:部署失败:存储库 未在 distributionManagement 内的 POM 中指定元素 元素或在 -DaltDeploymentRepository=id::layout::url 参数中
搜索此错误时,this answer 建议在 distributionManagement 部分添加存储库 url。但我不想部署common。我只是想构建它,所以它作为依赖注入到其他模块中并部署那些其他模块。我该怎么做?
我尝试使用此命令仅部署 a 和 b,但它对 common 给出了相同的错误:
mvn clean \
-DdockerRegistryHost=123.dkr.ecr.us-west-1.amazonaws.com/test1 \
--projects a,b \
--also-make \
deploy
【问题讨论】:
-
您想将此模块设置为从不部署吗?
-
@chrylis 当然,它不应该被部署,只是作为依赖添加。
-
您是否尝试过将
maven-deploy-plugin配置为 executions=none?
标签: java maven spring-boot docker spotify-docker-client