您可以从browsing any repository看到Maven构建工件包含.pom
个文件。这些文件的内容看起来很像pom.xml
个文件。这些文件来自哪里?它们用于什么?此外,构建工件具有maven-metadata.xml
个文件,至少在search.maven.org
上,并且这些文件与.pom
文件具有基本相同的内容。与此有什么关系?
答案 0 :(得分:1)
文件是项目中的pom文件。这些在发布版本期间或其他构建工具(gradle,ivy等)部署到maven存储库。 需要这些文件来描述相应工件的依赖关系,否则您没有其他机会存储此类信息。
在你的特定例子中(真的是旧的2005年),这是一个pom文件,它是在maven没有这样分发的时候创建的。在这种情况下,该文件不包含任何依赖项。
如果你看看这里:
http://search.maven.org/#browse%7C-77609479
您会看到单个工件的多个版本。如果您现在查看maven-metadata.xml,您将看到可用版本列表。
答案 1 :(得分:0)
到目前为止,我找到的最佳答案是this SO thread。这是一个确切的引用,突出了解释的关键:
每个 jar 需要一个描述它的pom文件,你可以添加一些简单的东西:
<?xml version="1.0" encoding="UTF-8"?>
<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">
<modelVersion>4.0.0</modelVersion>
<groupId>aGroup</groupId>
<artifactId>aArtifactId</artifactId>
<version>aVersion</version>
<packaging>jar</packaging>
<name>a Name</name>
</project>
另一个good explanation:
安装到Nexus的POM将描述jar。用来拉 与相应jar相关联的依赖项。当我们添加 jar作为我们项目的依赖,所需的所有罐子 包含的jar将通过相应的pom识别。
答案 2 :(得分:0)
希望这个实际示例可以帮助您更好地理解:
现在,当任何客户端尝试下载您的JAR文件时,它都会获得时间戳记最新的0.1版本的part(2)。
我只是在尝试部署多个工件时发现了这一点。