maven - 谁在我的构建中配置所有这些 Maven 存储库?
问题描述
我正在运行mvn dependency:list-repositories
以找出 maven 实际考虑的存储库及其顺序(我需要它来解决我的settings.xml
配置问题)。
对于一个在其文件(父模块和子模块)中不使用任何<repository>
标签的更大项目,pom.xml
我得到的存储库比我预期的要多得多。我原本期望只获得 Maven 中央存储库,但我得到:
[INFO] Repositories used by this build:
[INFO] id: sonatype-nexus-snapshots
url: https://oss.sonatype.org/content/repositories/snapshots
layout: default
snapshots: [enabled => true, update => daily]
releases: [enabled => false, update => daily]
[INFO] id: apache.snapshots
url: http://repository.apache.org/snapshots
layout: default
snapshots: [enabled => true, update => daily]
releases: [enabled => false, update => daily]
[INFO] id: netbeans
url: http://bits.netbeans.org/nexus/content/groups/netbeans
layout: default
snapshots: [enabled => false, update => daily]
releases: [enabled => true, update => daily]
[INFO] id: spring-libs-snapshot
url: https://repo.spring.io/libs-snapshot
layout: default
snapshots: [enabled => true, update => daily]
releases: [enabled => true, update => daily]
[INFO] id: apache.snapshots
url: https://repository.apache.org/snapshots
layout: default
snapshots: [enabled => true, update => daily]
releases: [enabled => false, update => daily]
[INFO] id: spring-libs-release
url: https://repo.spring.io/libs-release
layout: default
snapshots: [enabled => true, update => daily]
releases: [enabled => true, update => daily]
[INFO] id: central
url: https://repo.maven.apache.org/maven2
layout: default
snapshots: [enabled => false, update => daily]
releases: [enabled => true, update => daily]
我搜索了超级 pom 的位置,但没有找到绝对的答案。我仍然查看了指向的位置:
但我从来没有看到过别的东西,除了:
<repositories>
<repository>
<id>central</id>
<name>Maven Repository Switchboard</name>
<layout>default</layout>
<url>http://repo1.maven.org/maven2</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
那么,所有这些存储库在哪里配置或谁自动配置/隐含它们?
解决方案
我的解决方案实际上是命令mvn help:evaluate
,然后在出现提示时询问${project.repositories}
. 我在这个 SO 答案中找到了这个(在这个问题中,用户想要获取默认存储库列表,而我想获取实际配置的存储库列表)。
...
[INFO] Enter the Maven expression i.e. ${project.groupId} or 0 to exit?:
${project.repositories}
结果是对 POM 文件可见的存储库的实际列表:
<repositories>
<repository>
<id>confluent</id>
<url>http://packages.confluent.io/maven/</url>
<layout>default</layout>
</repository>
<repository>
<id>central</id>
<name>Central Repository</name>
<url>https://repo.maven.apache.org/maven2</url>
<layout>default</layout>
<location>
<lineNumber>27</lineNumber>
<columnNumber>17</columnNumber>
<source>
<modelId>org.apache.maven:maven-model-builder:3.6.3:super-pom</modelId>
<location>jar:file:/usr/local/Cellar/maven/3.6.3/libexec/lib/maven-model-builder-3.6.3.jar!/org/apache/maven/model/pom-4.0.0.xml</location>
</source>
</location>
<idLocation>
<lineNumber>28</lineNumber>
<columnNumber>11</columnNumber>
<source reference="../../location/source"/>
</idLocation>
<nameLocation>
<lineNumber>29</lineNumber>
<columnNumber>13</columnNumber>
<source reference="../../location/source"/>
</nameLocation>
<urlLocation>
<lineNumber>30</lineNumber>
<columnNumber>12</columnNumber>
<source reference="../../location/source"/>
</urlLocation>
<layoutLocation>
<lineNumber>31</lineNumber>
<columnNumber>15</columnNumber>
<source reference="../../location/source"/>
</layoutLocation>
<snapshots>
<enabled>false</enabled>
<location>
<lineNumber>32</lineNumber>
<columnNumber>18</columnNumber>
<source reference="../../../location/source"/>
</location>
<enabledLocation>
<lineNumber>33</lineNumber>
<columnNumber>18</columnNumber>
<source reference="../../../location/source"/>
</enabledLocation>
</snapshots>
</repository>
</repositories>
推荐阅读
- bdd - 我可以在 BDD 中的 When 和 Then 之后给予吗?
- php - 想要按宽度或按高度过滤创建搜索产品过滤器,就像在 wordpress WooCommerce 中按价格过滤一样
- powerbi - 如何制作与原表相似的新表
- bash - 具有特定格式的日期,例如 YY-MM-DD
- css - 如何在 vue.js 中定义路由器链接内容颜色
- scala - Spark 结构化流 2.2.0 中附加的先前批次,其中源为 Kafka
- c# - 如何存储位置数据并将其导出为 csv 文件?
- java - Android如何在底部导航项周围创建圆圈
- c++ - R 到 C++ 代码循环遍历数据帧列表 (Rcpp)
- python - 在 web2py 中无法访问数据库管理