Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 在mvnrepository.com上提供下载的pom.xml的目的是什么_Maven - Fatal编程技术网

Maven 在mvnrepository.com上提供下载的pom.xml的目的是什么

Maven 在mvnrepository.com上提供下载的pom.xml的目的是什么,maven,Maven,在MVnRepository上,当您搜索某个模块时,会有一个下载二进制文件的链接。对于某些版本,它有一个pom.xml文件可供下载,而不是jar。您应该如何处理pom.xml?如果我指定的版本没有可下载的jar,而是可下载的pom.xml,那么我的maven构建将失败。我看到的是正确的吗?导致这种情况的原因之一是许可证问题 此类JAR的许可证禁止以这种方式进行公共再分配。因此,有人只提供POM,这样您就可以自己获得JAR并将其与提供的POM一起安装到本地maven repo/内部repo。只有P

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

导致这种情况的原因之一是许可证问题


此类JAR的许可证禁止以这种方式进行公共再分配。因此,有人只提供POM,这样您就可以自己获得JAR并将其与提供的POM一起安装到本地maven repo/内部repo。

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

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


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

因此,为了从maven存储库中获取这些JAR,我必须下载手动提供的pom,然后在其上调用mvn install?此外,如果maven存储库只提供pom文件,这将阻止我在pom.xml中指定该依赖关系?首选方法是:1。拥有本地maven回购协议(如nexus),2。下载相应的JAR,3。下载POM4。将JAR+POM部署到本地maven repo。对于你的最后一个问题,我不太明白你的意思,但是如果你在Maven的repo中部署了JAR,事情就会顺利进行,你是从repo中搜索的。当然,你需要确保POM实际上是JAR类型的,而不是POM类型的。抱歉,不清楚。我的最后一个问题是,如果我在maven中央存储库中需要的模块有
pom
,那么为了让它工作,我只需要在
中为pom.xml中的模块指定
pom
,对吗?@Glide是的,你是对的。类型默认为“JAR”。“POM类型POM”和“没有实际JAR的JAR类型POM”是两种不同的场景。您需要清楚您正在处理的场景。但是现在,如果我只在pom.xml中使用带有pom文件的模块,我无法使用
mvn install
成功构建。这是预期的还是我做错了什么?不,它不应该给出一个错误。检查pom文件-它是否有包装元素,因为pom是其他东西。如果不是pom,则存储库中的条目是错误的。您是否可以添加导致问题的依赖项的详细信息-groupId/artifactId/version。@gkamal有很多情况,只有POM而没有JAR,但POM不是“POM”类型。e、 g.这是一个重定向-有一个重定位元素,不幸的是它没有JAR。使用1.1或使用备用回购-。@AdrianShum我没有收到你关于“只有POM而不是JAR,但POM不是“POM”类型”的评论。你为什么说只有POM而不是JAR?