2014-05-19 37 views
0

在我工作的公司,我們正在使用庫存管理工具等工具。現在我工作的一個模塊化的項目,看起來像下面的例子:從Artifactory下載元數據信息

enter image description here

現在,我意識到,每一天我第一次嘗試通過命令來構建我的應用程序

碼頭:運行

我得到以下信息:

[INFO] Downloading: http://myRepo/artifactory/repo/it/myCompany/services/0.0.1-SNAPSHOT/maven-metadata.xml 
[INFO] Downloaded: http://myRepo/artifactory/repo/it/myCompany/services/0.0.1-SNAPSHOT/maven-metadata.xml 
[INFO] Downloading: http://myRepo/artifactory/repo/it/myCompany/parent/0.0.1-SNAPSHOT/maven-metadata.xml 
[INFO] Downloading: http://myRepo/artifactory/repo/it/myCompany/parent/0.0.1-SNAPSHOT/maven-metadata.xml 
[INFO] Downloading: http://myRepo/artifactory/repo/it/myCompany/model/0.0.1-SNAPSHOT/maven-metadata.xml 
[INFO] Downloaded: http://myRepo/artifactory/repo/it/myCompany/model/0.0.1-SNAPSHOT/maven-metadata.xml 
[INFO] Downloading: http://myRepo/artifactory/repo/it/myCompany/util/0.0.1-SNAPSHOT/maven-metadata.xml 
[INFO] Downloaded: http://myRepo/artifactory/repo/it/myCompany/util/0.0.1-SNAPSHOT/maven-metadata.xml 
[INFO] Downloading: http://myRepo/artifactory/repo/it/myCompany/rest/0.0.1-SNAPSHOT/maven-metadata.xml 
[INFO] Downloaded: http://myRepo/artifactory/repo/it/myCompany/test/0.0.1-SNAPSHOT/maven-metadata.xml 

我認爲這些XML文件在本地資源庫內的corrisponding文件夾中的maven-metadata-repo.xml中進行了轉換。例如,示範項目的文件Maven的元數據repo.xml包含以下信息:

 <?xml version="1.0" encoding="UTF-8"?> 
    <metadata> 
     <groupId>myCompany</groupId> 
     <artifactId>model</artifactId> 
     <version>0.0.1-20140417.095713-1</version> 
     <versioning> 
     <snapshot> 
      <timestamp>20140417.095713</timestamp> 
      <buildNumber>1</buildNumber> 
     </snapshot> 
     <lastUpdated>20140512073542</lastUpdated> 
     <snapshotVersions> 
      <snapshotVersion> 
      <extension>pom</extension> 
      <value>0.0.1-20140417.095713-1</value> 
      <updated>20140417095713</updated> 
      </snapshotVersion> 
      <snapshotVersion> 
      <extension>jar</extension> 
      <value>0.0.1-20140417.095713-1</value> 
      <updated>20140417095713</updated> 
      </snapshotVersion> 
     </snapshotVersions> 
     </versioning> 
    </metadata> 

現在我要問你,爲什麼我只得到了第一次(每天)下載的信息,我運行命令jetty:run? 另外我用這種方式在artifactory中配置了快照庫enter image description here

這是這些連續下載的原因嗎?

回答

2

這與Maven檢查是否有更新的SNAPSHOT版本的依賴關係(Maven3使用的是獨特的SNAPSHOT版本)有關。 Maven下載maven-metadata.xml文件並檢查它是否具有在本地Maven存儲庫中緩存的最新SNAPSHOT版本,或者它需要從Artifactory下載一個更新的版本。
SNAPSHOTS的默認更新策略是每天檢查一次(「每日」)。對於有

<repositories> 
    <repository> 
     <id>central</id> 
     <url>my-server-url</url> 
     <snapshots> 
      <enabled>true</enabled> 
      <updatePolicy>always</updatePolicy> 
     </snapshots> 
     <releases> 
      <enabled>true</enabled> 
      <updatePolicy>daily</updatePolicy> 
     </releases> 
    </repository> 
</repositories> 

可能的值:「總是」,「經常」(默認),「間隔:XXX」您可以在settings.xml文件中配置此策略,例如(以分鐘爲單位)或「從不」(只有在本地不存在的情況下)。