gpt4 book ai didi

java - 在存储库中拥有父 pom 的相对路径是否合法?

转载 作者:行者123 更新时间:2023-12-04 06:16:58 31 4
gpt4 key购买 nike

我在 maven 2 中央存储库中找到了这个 Artifact pom:

http://search.maven.org/remotecontent?filepath=javax/servlet/jsp/jsp-api/2.1.2/jsp-api-2.1.2.pom

这包括:

...
<parent>
<groupId>org.glassfish.web</groupId>
<artifactId>jsp</artifactId>
<version>2.2</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<packaging>jar</packaging>
<version>${jsp-api.version}</version>
<name>JavaServer Pages(TM) API v${jsp-api.version}</name>
....

当我尝试使用 Ivy 解决依赖项时遇到了一个问题:
<dependency org="javax.servlet.jsp" name="jsp-api" rev="2.1.2" />

Ivy 无法解决依赖关系并打印出此错误:
[ivy:resolve]       nexus: bad revision found in http://XXX/nexus/content/groups/public/javax/servlet/jsp/jsp-api/2.1.2/jsp-api-2.1.2.pom: expected='2.1.2 found='${jsp-api.version}'

现在想知道存储库中的 pom 文件相对于父 pom 引用是否可以?

最佳答案

来自 POM Reference :“注意 relativePath 元素。它不是必需的,但可以用作 Maven 的标志,在搜索本地和远程存储库之前首先搜索为该项目的父项提供的路径。”

这实际上意味着只有在找到时才使用相对路径,然后 Maven 回退到正常的存储库查找。在这种情况下,存储库查找应该可以正常工作,因为引用的 Artifact 是 available in central .您使用的是本地存储库还是代理?可能是您的代理设置阻止了 Ivy 找到父 pom。

关于java - 在存储库中拥有父 pom 的相对路径是否合法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7107481/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com