跳过一个模块的 maven 部署
Skip maven deploy for one module
我有一个多模块 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 引导项目
我需要 运行 mvn deploy
才能让 Spotify 插件推送 docker 图片。
mvn install
工作正常,构建了 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
搜索此错误,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
您可以通过配置 maven-deploy-plugin
来完成您想要的。
尝试将以下内容添加到您的父 pom:
<build>
...
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>3.0.0-M1</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</pluginManagement>
...
</build>
或将 -Dmaven.deploy.skip=true
添加到您的命令行。
我有一个多模块 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.
我需要 运行 mvn deploy
才能让 Spotify 插件推送 docker 图片。
mvn install
工作正常,构建了 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
搜索此错误,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
您可以通过配置 maven-deploy-plugin
来完成您想要的。
尝试将以下内容添加到您的父 pom:
<build>
...
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>3.0.0-M1</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</pluginManagement>
...
</build>
或将 -Dmaven.deploy.skip=true
添加到您的命令行。