По умолчанию все pom.xml автоматически расширяют Super POM, который находится в пакете maven_installation_folder/lib/maven-x.x.x-uber.jar
==> org.apache.maven.project
==> pom-4.0.0. xml . Вся конфигурация, указанная в Super POM, наследуется POM, которые вы создали для своих проектов.
Если вы откроете pom-4.0.0.xml , вы обнаружите, что центральное хранилище maven http://repo1.maven.org/maven2/
определено здесь. Это означает, что если вы укажете <dependency>
в своем pom.xml , maven попытается загрузить эту зависимость в следующих порядках:
- Локальный репозиторий Maven (т. Е. Ваш локальный жесткий диск)
- Центральный репозиторий Maven, указанный в Super POM (т.е. http://repo1.maven.org/maven2/)
- Удаленный репозиторий Maven (определен в разделе
<repository>
вашего pom.xml )
Обычно я использую некоторые поисковые системы репозитория maven, такие как this , чтобы узнать <dependency>
библиотек / frameworks / tools, которые я хочу использовать, и затем вставлю их в pom.xml
Если в центральном репозитории Maven существует зависимость, все будет хорошо, и она будет загружена в ваш локальный репозиторий. Однако, если некоторые из <dependency>
(например, Hibernate) не могут быть найдены и загружены из центрального репозитория Maven, вы можете попробовать посетить его официальный сайт, чтобы найти его ссылку на репозиторий и вставить их в раздел <repository>
вашего pom.xml . Например, Hibernate требует определить хранилище jboss в pom.xml следующим образом:
<repositories>
<repository>
<id>repository.jboss.org</id>
<name>JBoss Repository</name>
<url>http://repository.jboss.org/nexus/content/groups/public-jboss</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
Вы можете обратиться к this для использования <repository>