首先,我在谷歌上搜索了一下,但好像找不到答案。如果这是一个显而易见的答案,请原谅。
在Maven中,我们可以定义0个或多个资源库来查找资源。资源库可以在settings.xml或您的pom中定义。默认情况下,如果您未定义任何资源库,所有内容都将来自一个名为“central”的资源库,这只是由Maven维护的默认资源库。
下面是来自jboss eap示例应用程序的设置pom片段。当我执行mvn clean install时,我可以看到一些东西从中央库中获取,另一些则从jboss存储库中获取。依赖标签中似乎没有任何告诉Maven哪个存储库包含该依赖项的信息,那么它如何决定?是否与依赖项中的组ID相关联,还是Maven只是逐个检查所有存储库,直到找到包含JAR文件的第一个存储库为止?
<dependencies>
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>javax.persistence-api</artifactId>
</dependency>
<dependency>
<groupId>org.jboss.spec.javax.xml.bind</groupId>
<artifactId>jboss-jaxb-api_2.3_spec</artifactId>
</dependency>
</dependencies>
<repositories>
<repository>
<id>jboss-enterprise-maven-repository</id>
<url>https://maven.repository.redhat.com/qa/</url>
</repository>
<repository>
<id>jboss-enterprise-maven-repository-ea</id>
<url>https://maven.repository.redhat.com/earlyaccess/all/</url>
</repository>
<repository>
<id>jboss-public-repository-group</id>
<name>JBoss Public Maven Repository Group</name>
<url>https://repository.jboss.org/nexus/content/groups/public/</url>
</repository>
</repositories>