maven - plugin - Metadaten konnten nicht lokal gefunden werden




maven repository (2)

Lokal auf der Maschine habe ich ein Artifactory mit Maven-Repositories installiert, und ich habe eine sehr einfache .pom-Datei für mein Projekt, die darauf zeigt:

<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>

Also habe ich ein lokales Artefakt-Repository mit der Absicht deklariert, dass es jedes Mal neu lädt. Auch ich habe einige Abhängigkeiten, die SNAPSHOTS sind.

Jetzt benutze ich Maven 3.0.5, und wenn ich es kompiliere, funktioniert es gut, aber es sind überhaupt keine erfrischenden Schnappschüsse. Noch nie. Je. Die Protokolldatei sieht folgendermaßen aus:

[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.

Also beschwert es sich ständig, dass es lokale Maven-Medatada.xml nicht finden kann und natürlich hat er völlig Recht - es ist nicht da. Und versäumt es ALLES damit zu tun.

Also habe ich versucht, die Abhängigkeit zu verwenden: Säuberung-Lokales-Repository, um lokales Inventar zu löschen und rate was? Anscheinend kann es nicht gelöscht werden, da es in jedem Artefakt keine maven-metadata.xml gibt, was für eine erstaunliche Funktionalität!

Jedes .m2-Artefakt-Verzeichnis, abgesehen von .jar und .pom, enthält maven-metadata-local-artefactory.xml (mit der korrekten Kopie von maven-metadata.xml aus dem Artefaktory, current), _mave.repositories und resolver-status.properties.

Maven ist einfach out-of-the-box, es gibt keine Konfiguration in .m2 und die Konfiguration im Ordner / conf ist standardmäßig ohne eine einzige Änderung.

UPDATE: Ich habe gerade maven-metadata.xml manuell aus dem Artefakt heruntergeladen und als maven-metadata.xml in .m2 für eine Abhängigkeit platziert - kein Effekt, es ist immer noch "fehlend". Also ich habe keine Ahnung mehr was es von mir will. Abhängigkeiten können nicht aktualisiert werden, da "während dieser Sitzung bereits aktualisiert" ist. Nun, ich weiß nicht, was genau aktualisiert wurde, aber anscheinend etwas anderes.

UPDATE2: Inhalt von maven-metadata.xml auf dem Server:

<metadata>
    <groupId>MYGROUP</groupId> 
    <artifactId>DEPENDENCY1</artifactId> 
    <version>bla-SNAPSHOT</version> 
    <versioning>
        <snapshot>
            <buildNumber>1</buildNumber> 
        </snapshot>
        <lastUpdated>20130322155759</lastUpdated> 
    </versioning>
</metadata>

https://code.i-harness.com


Aus der Maven-Metadaten-XML-Datei sieht es so aus, als ob Sie einen nicht eindeutigen Snapshot in Ihrem Repository verwenden. Maven 3 unterstützt nicht-eindeutige, einzige Snapshot-Pom-Datei mit TIMESTAMP-BUILDNUMBER anstelle von SNAPSHOT. Hast du:

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

Datei?


Mein Maven beschwerte sich, dass es keine Metadaten in lokalen, bla bla finden kann ... und im Grunde ist es passiert, dass ich mein Stromkabel mitten in maven-build trennen konnte und seine Metadaten im entsprechenden lokalen .m2-Unterverzeichnis beschädigt wurden. Ich ging hinein, löschte die fraglichen Artefakte von ihrem .m2-Ort und probierte den Build erneut. Alles hat gut funktioniert. Ich wollte nur diese Nachricht für diejenigen hinterlassen, die ein ähnliches Problem wie ich haben, aber über Ihre Frage gestolpert sind.







artifactory