2017-12-23 2 views
1

ich dieses Maven Skript-Schnipsel haben:Gradle versagt auf malformed pom.xml in Zentral Maven

repositories { 
    maven { 
     url 'http://central.maven.org/maven2/' 
    } 
    maven { 
     url 'http://repository.jspresso.org/maven2/' 
    } 
} 


dependencies { 
    compile 'org.codehaus.groovy:groovy-all:2.3.11' 
    testCompile group: 'junit', name: 'junit', version: '4.12' 
    compile gradleApi() 
    compile localGroovy() 

    // https://mvnrepository.com/artifact/xdoclet/xdoclet 
    compile(group: 'xdoclet', name: 'xdoclet', version: '2.0.6') { 
     exclude(group: 'generama', module: 'generama') 
    } 

    // https://mvnrepository.com/artifact/org.codehaus.generama/generama 
    compile group: 'org.codehaus.generama', name: 'generama', version: '1.2.4' 
} 

Nun, wenn ein Build ausgeführt wird, Gradle nicht konsequent auf transitive Abhängigkeiten Herunterladen und gibt mir diese Meldung:

> Could not resolve jdom:jdom:b10. 
    Required by: 
     project : > org.codehaus.generama:generama:1.2.4 > commons-jelly:commons-jelly-tags-xml:1.1 > jaxen:jaxen:1.1-beta-4 
    > Could not resolve jdom:jdom:b10. 
     > inconsistent module metadata found. Descriptor: jdom:jdom-:10 Errors: bad module name: expected='jdom' found='jdom-' 
     bad version: expected='b10' found='10' 

Als ich mir den Inhalt der Datei pom.xml aus dem Repository anschaute, bemerkte ich, dass obwohl pom.xml an der richtigen Stelle ist, es eine andere Version als erwartet anzeigt. In diesem Fall gibt die Pom-Datei für die jdom-Version b10 10 statt b10 an. Ein weiteres Problem zeigt, dass die Pom-Datei für Commons Discovery »20030211.213356 2d oder etwas ähnliches anstelle der Version 20030211.213356 anzeigt. Ich habe versucht, die gebrochenen Abhängigkeiten auszuschließen, aber nur um herauszufinden, dass dies neue Probleme derselben Art einführt. Können Sie mir bitte helfen, dies zu lösen?

+0

Beachten Sie, dass ich versucht habe auch centralMaven() als Repository. Die Pom (s) sind definitiv missgebildet. Generama 1.2.3 hat sogar missgebildete XML-Daten in seinem Pom, was es unbrauchbar macht, da die Klasse sich über Byte 1 von 1-Bite beschweren wird, das nicht UTF-8 ist –

Antwort

1

können Sie versuchen, die fehlerhaft diejenigen ohne und einschließlich den Arbeits das:

compile('org.codehaus.generama:generama:1.2.4') { 
    exclude(group: 'commons-discovery', module: 'commons-discovery') 
    exclude(group: 'jdom', module: 'jdom') 
} 
compile('jdom:jdom:1.0') 
compile('commons-discovery:commons-discovery:0.2') 
+0

Danke @tkruse es löst das Problem sofort. Ich hätte zuerst darüber nachdenken sollen. Aber ja, jeder muss mindestens einmal lernen! –