0

我在 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
4

3 回答 3

0

可以通过指定updatePolicy来配置 Maven 尝试连接到远程存储库的频率,如Maven 设置参考中所述。

“每日”是默认设置,但您可以对其进行配置以满足您的需要。简而言之,它是这样工作的(从上面提到的 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 文件中)与远程进行比较。选项包括:总是、每天(默认)、间隔:X(其中 X 是以分钟为单位的整数)或从不。

于 2013-07-24T11:29:07.387 回答
0

将存储库添加到您的 pom.xml 意味着 maven 将首次使用它来下载依赖项。然后 maven 将使用本地 repo。这是默认行为

于 2013-07-24T09:01:30.253 回答
0

这很正常。Maven 首次在远程仓库中搜索工件,然后将其下载到本地仓库(隐藏目录 /.m2)。下次您进行构建时,Maven 将获取本地副本。

offtopic:如果您想使用专有工件或自己制作的工件,那么我建议您使用 Nexus maven 存储库管理器。

于 2013-07-24T09:03:31.427 回答