1

在 mvnrepositry 上,当您搜索某个模块时,会有一个下载二进制文件的链接。对于某些版本,它有一个 pom.xml 文件可供下载,而不是 jar。你应该用那个 pom.xml 做什么?似乎如果我指定一个没有可下载 jar 而是可下载 pom.xml 的版本,我的 maven 构建将失败。我所看到的正确吗?

4

2 回答 2

1

造成这种情况的原因之一是许可问题。

此类 JAR 的许可禁止以这种方式公开重新分发。所以有人只提供了 POM,这样你就可以自己获取 JAR 并将其与提供的 POM 一起安装到本地 maven 存储库/内部存储库中。

于 2013-05-31T02:18:24.013 回答
1

只有 pom 文件的模块是带有 pom 打包的 maven 模块。它们用于将多个模块聚合为一个单元。您可以使用这样的模块作为 maven 项目的依赖项。Maven 将下载 pom 文件,分析该 pom 文件中包含的依赖项并下载这些文件并将其自动添加到您的文件中。

即使有 jars(jar 包装)的模块也有一个与之关联的 pom 文件。这个 pom 文件定义了使用它所需的其他依赖项。Maven 将自动处理和获取这些依赖项(传递依赖项)。

这使得为​​任何项目指定和管理依赖项。您将指定您的项目直接依赖的顶级模块,其他所需的东西将自动计算并下载。当你升级到新版本时,它也变得更容易——所有的传递依赖都会自动升级。

于 2013-05-31T04:29:48.103 回答