我在pom.xml中添加了以下存储库,因为我需要Primefaces库。
<repositories>
<repository>
<id>prime-repo</id>
<name>PrimeFaces Maven Repository</name>
<url>http://repository.primefaces.org</url>
<layout>default</layout>
</repository>
</repositories>
但是当我运行构建时添加后,构建日志显示它从远程存储库http://repository.primefaces.org下载而不是我的本地硬盘驱动器..并且具有以下日志。
请澄清。 非常感谢。
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building xxx_presentation Maven Webapp 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
Downloading: http://repository.primefaces.org/com/jay/business/0.0.1-SNAPSHOT/maven-metadata.xml
Downloading: http://repository.primefaces.org/com/jay/data/0.0.1-SNAPSHOT/maven-metadata.xml
Downloading: http://repository.primefaces.org/com/oracle/ojdbc6/11.2.0.3/ojdbc6-11.2.0.3.pom
Downloading: http://repo.maven.apache.org/maven2/com/oracle/ojdbc6/11.2.0.3/ojdbc6-11.2.0.3.pom
[WARNING] The POM for com.oracle:ojdbc6:jar:11.2.0.3 is missing, no dependency information available
Downloading: http://repository.primefaces.org/com/jay/common/my_common/0.0.1-SNAPSHOT/maven-metadata.xml
Downloading: http://repository.primefaces.org/com/jay/common/my_common/0.0.1-SNAPSHOT/maven-metadata.xml
Downloading: http://repository.primefaces.org/com/jay/common/business/my_common_business/0.0.1-SNAPSHOT/maven-metadata.xml
Downloading: http://repository.primefaces.org/com/jay/common/data/my_common_data/0.0.1-SNAPSHOT/maven-metadata.xml
答案 0 :(得分:0)
将存储库添加到pom.xml意味着maven将首次使用它来下载依赖项。然后maven将使用本地存储库。 这是默认行为
答案 1 :(得分:0)
这是正常的。 Maven首次在远程存储库中搜索工件,然后将其下载到本地存储库(隐藏目录/.m2)。下次执行构建时,maven将使用本地副本。
offtopic:如果您想使用专有工件或自己制造的工件,那么我建议您使用Nexus maven存储库管理器。
答案 2 :(得分:0)
可以通过指定 updatePolicy 来配置Maven尝试连接到远程存储库的频率,如Maven Settings Reference中所述。
'每日'是默认设置,但您可以对其进行配置,以满足您的需求。简而言之,它的工作原理如下(从上面提到的Maven文档中复制):
<repositories>
<repository>
<id>codehausSnapshots</id>
<name>Codehaus Snapshots</name>
<releases>
<enabled>false</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
<url>http://snapshots.maven.codehaus.org/maven2</url>
<layout>default</layout>
</repository>
</repositories>
updatePolicy :此元素指定更新应尝试发生的频率。 Maven会将本地POM的时间戳(存储在存储库的maven-metadata文件中)与远程数据进行比较。选项包括:always,daily(默认),interval:X(其中X是以分钟为单位的整数)或从不。