22

マシンのローカルに、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>
4

2 に答える 2