首页 > 解决方案 > 只想构建 maven 项目的特定子模块

问题描述

我有一个具有多级目录层次结构的多模块 Maven 项目。通常我们构建整个项目,但是在构建 docker 镜像时遇到了一些资源问题(这些是从 maven 模块编排的),解决方法是创建多个构建作业,每个构建作业都构建一个镜像。

一种选择是简单地 cd 到相关的子目录并从那里构建,但理想情况下我想使用“mvn -pl”选项,尽管我正在努力使用

我们使用 groupid 'org.odpi.egeria' & pom 的结构为

 . (egeria)
   open-metadata-resources (open-metadata-resources)
     open-metadata-deployment (open-metadata-deployment)  
       docker (open-metadata-docker)
         egeria (open-metadata-docker-egeria)

这只是演示问题的树的一部分

使用 -pl 选项指定要构建的目录名称

使用 -pl 选项指定要构建的工件

mvn -pl open-metadata-resources/open-metadata-deployment/docker/egeria  clean install
mvn -pl org.odpi.egeria:open-metadata-docker-egeria clean install

在这两种情况下,我都得到:

[ERROR] [ERROR] Could not find the selected project in the reactor: open-metadata-resources/open-metadata-deployment/docker/egeria @
[ERROR] Could not find the selected project in the reactor: open-metadata-resources/open-metadata-deployment/docker/egeria -> [Help 1]

标签: mavenmodulepom.xml

解决方案


推荐阅读