マシンのローカルに、Maven リポジトリを使用してインストールされた Artifactory があり、それを指すプロジェクト用の非常に単純な .pom ファイルがあります。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>MYGROUP</groupId>
<artifactId>NAME</artifactId>
<packaging>jar</packaging>
<version>VERSION</version>
<build>
<sourceDirectory>SRCFOLDER</sourceDirectory>
<testSourceDirectory>TESTFOLDER</testSourceDirectory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>local-artifactory</id>
<name>Artifactory</name>
<url>http://localhost:8081/artifactory/repo</url>
<layout>default</layout>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>local-artifactory-plugins</id>
<name>Artifactory Plugins</name>
<url>http://localhost:8081/artifactory/repo</url>
</pluginRepository>
</pluginRepositories>
<dependencies>
<dependency>
<groupId>MYGROUP</groupId>
<artifactId>DEPENDENCY1</artifactId>
<version>bla-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>MYGROUP</groupId>
<artifactId>DEPENDENCY2</artifactId>
<version>bla-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
そのため、毎回すべてをリロードすることを意図して local-artifactory リポジトリを宣言しました。また、スナップショットであるいくつかの依存関係があります。
現在、私はmaven 3.0.5を使用しています。コンパイルすると問題なく動作しますが、スナップショットはまったく更新されません。一度もない。これまで。ログ ファイルは次のようになります。
[DEBUG] Could not find metadata MYGROUP:DEPENDENCY1:bla-SNAPSHOT/maven-metadata.xml in local (/opt/myuser/.m2/repository)
[DEBUG] Using connector WagonRepositoryConnector with priority 0 for http://localhost:8081/artifactory/repo
Downloading: http://localhost:8081/artifactory/repo/MYGROUP/DEPENDENCY1/bla-SNAPSHOT/maven-metadata.xml
Downloaded: http://localhost:8081/artifactory/repo/MYGROUP/DEPENDENCY1/bla-SNAPSHOT/maven-metadata.xml (314 B at 13.9 KB/sec)
[DEBUG] Writing resolution tracking file /opt/myuser/.m2/repository/MYGROUP/DEPENDENCY1/bla-SNAPSHOT/resolver-status.properties
[DEBUG] Could not find metadata MYGROUP:DEPENDENCY1:bla-SNAPSHOT/maven-metadata.xml in local (/opt/myuser/.m2/repository)
[DEBUG] Skipped remote update check for MYGROUP:DEPENDENCY1:bla-SNAPSHOT/maven-metadata.xml, already updated during this session.
そのため、ローカルの maven-medatada.xml が見つからないと常に不平を言っています。もちろん、彼は完全に正しいです。そこにはありません。そして、それで何もできません。
だから私は依存関係を使用しようとしました:purge-local-repository ローカルインベントリをパージし、何を推測しますか? どうやら、各成果物に maven-metadata.xml がないため、それをパージできないようです。これは素晴らしい機能です。
.jar と .pom を除く各 .m2 アーティファクト ディレクトリには、maven-metadata-local-artifactory.xml (現在のアーティファクトからの maven-metadata.xml の正しいコピーを含む)、_mave.repositories、および resolver-status.properties が含まれます。
Maven は箱から出してすぐに使用できます。.m2 には構成がなく、/conf フォルダーの構成はデフォルトであり、変更は一切ありません。
更新:アーティファクトからmaven-metadata.xmlを手動でダウンロードし、依存関係のために.m2内にmaven-metadata.xmlとして配置しました-効果はありません。まだ「欠落」しています。だから、それが私に何を望んでいるのか、私にはわかりません。「このセッション中に既に更新されている」ため、依存関係を更新できません。正確に何を更新したのかはわかりませんが、明らかに何か他のものです。
UPDATE2: サーバー上の maven-metadata.xml の内容:
<metadata>
<groupId>MYGROUP</groupId>
<artifactId>DEPENDENCY1</artifactId>
<version>bla-SNAPSHOT</version>
<versioning>
<snapshot>
<buildNumber>1</buildNumber>
</snapshot>
<lastUpdated>20130322155759</lastUpdated>
</versioning>
</metadata>