java - maven - 几个根 pom
问题描述
我的项目结构是这样的
├── biz
│ └── biz-pom.xml
├── new-pom.xml
└── pom.xml
我想用 构建我的项目new-pom.xml
,我运行mvn -f new-pom.xml clean deploy
但 findbiz-pom.xml
依赖于 deploy config inpom.xml
而不是new-pom.xml
. 有人有想法吗?
解决方案
父 POM 相对路径
默认情况下,Maven 首先在项目的根目录中查找父 POM,然后是本地存储库,最后是远程存储库。如果父 POM 文件不位于任何其他位置,则可以使用代码标记。此相对路径应相对于项目 root。
相对路径,如果没有明确给出,默认为
..
,即当前项目的父目录下的 pom。<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <!--The identifier of the parent POM--> <parent> <groupId>com.howtodoinjava.demo</groupId> <artifactId>MavenExamples</artifactId> <version>0.0.1-SNAPSHOT</version> <relativePath>../baseapp/pom.xml</relativePath> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>MavenExamples</artifactId> <name>MavenExamples Child POM</name> <packaging>jar</packaging> </project>
所以要biz-pom.xml
使用new-pom.xml
,你必须指定使用<relativePath>
元素内的<parent>
元素。
推荐阅读
- python - scons -c 命令
- java - 在 Spring 测试中模拟依赖项的自动装配依赖项
- flutter - Flutter 自定义导航栏
- java - 将标签添加到 JFrame
- python - pandas:减少内存使用 df['date'] = pd.to_datetime(df[[ 'year', 'month', 'day']])
- javascript - 将全局变量应用于 $.getjson 请求 URL
- reactjs - 用酶和反应模拟状态变化
- typescript - 打字稿:强制泛型必须有一些键
- perl - perl 中的操作符 // 做什么?
- c - 在 C 中搜索字母或字符串