web-dev-qa-db-ja.com

ローカルでメタデータが見つかりませんでした

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

だから、毎回すべてをリロードするという意図で宣言されたローカル工房リポジトリがあります。また、私はSNAPSHOTSであるいくつかの依存関係があります。

今、私は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を見つけることができないと常に文句を言います。もちろん、彼は完全に正しいです-それはありません。そして、それで何もできません。

だから私はdependency: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として配置しました。効果はありませんが、まだ「欠落」しています。だから、私はそれがもう何を望んでいるのかわからない。 「このセッション中にすでに更新されている」ため、依存関係を更新することはできません。さて、何が正確に更新されたのかわかりませんが、明らかに何か他のものです。

更新2:サーバー上の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>
19
Eugene

Mavenメタデータxmlファイルからは、リポジトリで一意でないスナップショットを使用しているように見えます。 Maven 3は一意ではなく、スナップショットではなくTIMESTAMP-BUILDNUMBERを使用したスナップショットPOMファイルのみをサポートします。ありますか:

http://localhost:8081/artifactory/repo/MYGROUP/DEPENDENCY1/bla-SNAPSHOT/DEPENDENCY1-bla-XXXXX-Y.pom

ファイル?

5
Fred Simon

私のMavenは、ローカルのメタデータを見つけることができないと不平を言いました...そして基本的に、起こったのはmid-maven-buildで電源ケーブルを抜くことができ、関連するローカル.m2サブディレクトリのメタデータが破損したことです。私は入って、問題のアーティファクトを.m2の場所から削除し、ビルドを再試行しました。すべて正常に動作しました。私と同じような問題を抱えている人にこのメッセージを残したかったのですが、あなたの質問につまずきました。

15
Peter Perháč