【发布时间】:2020-10-03 21:54:32
【问题描述】:
这是我的 POM 文件的样子:
<groupId>com.company</groupId>
<artifactId>my-app</artifactId>
<version>1.0-SNAPSHOT</version>
<name>my-app</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<repositories>
<repository>
<id>my-company-id</id>
<name>my-company-repo</name>
<url>URL of company's artifactory</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<dependencies>
<!-- parentDir -->
<dependency>
<groupId>company.project</groupId>
<artifactId>company-project</artifactId>
<version>1.0.82</version>
</dependency>
<!-- childDir -->
<dependency>
<groupId>company.project</groupId>
<artifactId>company-project-child</artifactId>
<version>1.0.82</version>
</dependency>
</dependencies>
此外,我尝试安装的依赖项(参见 POM 文件)的结构如下:
company.project
|- parentDir
|- pom.xml (no jar in parentDir)
|- childDir
|- pom.xml
|- child-project.jar
childDir 和 parentDir 中的 POM 如下所示:
孩子:
<parent>
<artifactId>company-project</artifactId>
<groupId>company.project</groupId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>company-project-child</artifactId>
父母:
<groupId>company.project</groupId>
<artifactId>company-project</artifactId>
<packaging>pom</packaging>
<version>${revision}</version>
<modules>
<module>company-project-child</module>
</modules>
错误:
Failed to execute goal on project my-app: Could not resolve dependencies for project
com.company:my-app:jar:1.0-SNAPSHOT: Failed to collect dependencies at company.project:
company-project-child:jar:1.0.82: Failed to read artifact descriptor for
company.project:company-project-child:jar:1.0.82: Could not find artifact
company.project:company-project:pom:${revision} in my-company-id (<URL of company's artifactory>)
为什么 ${revision} 无法解析?
谢谢!
编辑:上面显示的目录结构实际上是我本地 repo 中下载的依赖项:.m2/repository/... 原始项目的父 pom.xml 确实比子 pom.xml 高一级。
【问题讨论】:
-
请将 poms 作为文本添加到帖子中,而不是链接等。孩子希望它的父级在目录结构中更高一级,但这里不是这种情况。
-
请注意您的 pom 文件中存在问题。应该类似于 ${project.resivsion} maven.apache.org/pom.html#properties
-
@khmarbaise 请看我上面的编辑。