2013-03-22 21 views
15
yerel

meta veri bulunamadı, ve i işaret Projemin için çok basit bir .pom dosyası var:Yerel ı maven depoları ile yüklü bir Artifactory sahip makinede

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

Yani ben yerel var -artifaryum deposu, her seferinde her şeyi yeniden yükleyeceği niyeti ile ilan etti. Ayrıca SNAPSHOTS olan birkaç bağımlılığım var.

Şimdi maven 3.0.5 kullanıyorum ve bunu derlerken iyi çalışıyor, ancak hiç fotoğraf çekmiyor. Asla. Hiç. Log dosyası şuna benzer:

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

Yani sürekli yerel maven-medatada.xml bulamıyorum şikayet ve tabii o tamamen doğru - orada değil. Ve bununla birlikte herhangi bir şey yapamaz.

Bu yüzden bağımlılığı kullanmaya çalıştım: yerel envanteri temizlemek için arındırılmış yerel deposu ve ne olduğunu tahmin edin? Görünüşe göre, her artefaktta maven-metadata.xml olmadığı, ne harika bir işlev olduğu için onu temizleyemez!

Her .m2 artifact dizini .jar ve .pom'dan ayrı olarak, maven-metadata-local-artifactory.xml (yapay, geçerli kaynaklardan maven-metadata.xml dosyasının doğru kopyasına sahip), _mave.repositories ve resolver- status.properties.

Maven kutudan çıktı, .m2 içinde bir yapılandırma yok ve/conf klasöründeki yapılandırma herhangi bir değişiklik yapmadan varsayılan değerdir.

GÜNCELLEME: Maven-metadata.xml dosyasını elle elle yükledim ve bir bağımlılık için maven-metadata.xml .m2 olarak yerleştirdim - etki yok, yine de "eksik". Artık benden ne istediği hakkında hiçbir fikrim yok. "Bu oturumda zaten güncellenmiş" olduğundan bağımlılıkları güncelleyemiyor. Tam olarak ne güncellendiğini bilmiyorum ama görünüşe göre başka bir şey.

Update2: sunucuda maven-metadata.xml İçeriği: maven meta xml itibaren

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

Ellerinizi eserlerine nasıl koyuyorsunuz? mvn deploy'unu kullanıyor musunuz? – ben75

+0

Hayır, ant/ivy ve ivy kullanıyorum: maven tarzı depo yapısı kullanarak yayınla. Önemli mi? – Eugene

+0

Sanırım bu meta veriler orada yok. Maven eserini yapay olarak dağıtmak için asla ant/ivy kullanmıyorum. Her neyse: 'mvn deploy', yapay olarak jar + meta verileri koyacaktır ve gitmenin yolu. ('mvn install: install-file' ile de' -DpomFile = your-pom.xml' kullanabilirsiniz veya pom dosyası yoksa en kötüsü: '-DgeneratePom = true' – ben75

cevap

5

Eğer depoda benzersiz olmayan anlık kullanıyor gibi görünüyor dosya. Maven 3, SNAPSHOT yerine TIMESTAMP-BUILDNUMBER ile benzersiz olmayan, sadece anlık görüntü dosyasını desteklemiyor. Var mı:

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

dosya?

+0

Yea, bunu zaten anladım, yapay olarak değiştirdim ve her şey iyi çalışıyor. Yine de teşekkürler! – Eugene

13

Maven, yerel olarak meta verileri bulamadığından şikayet etti, falan ... ve temel olarak, ne olduysa, güç kablolarımı maven ortalarında ve meta verilerindeki ilgili yereldeki bağlantıyı kesmeyi başardım. alt dizin bozuk. İçeri girdim, söz konusu eserleri .m2 konumlarından sildim ve yapıyı yeniden denedim. Her şey yolunda gitti. Sadece bu mesajı benimkiyle benzer bir sorunu olanlara bırakmak istedim, ama sorunuza tökezledik.

+0

Bu bir çözüm değil, bir çözümdür. Yapı çalışmasını yapmak için 'm2' klasörünü bir gazilyon kez silemezsiniz. –

+3

Normal bir düzeltme önerdiğini sanmıyorum –