2016-07-23 6 views
7

Ich würde normalerweise warten, bis unser Dev online geht, aber das wird um weitere 12 Stunden und das wird in diesem Fall zu spät sein, um mich zu treffen bestimmtes Ziel.Maven Build Fehler in Jenkins (Semi zeitsensitiv)

Aber ich habe versucht, unsere Website-Projekt über unsere Jenkins-Panel zu bauen und der Build fehlgeschlagen. Ich habe festgestellt, dass es NICHT B/C der letzten Änderungen war, die ich gemacht habe, als ich zurückkehrte und immer noch das gleiche Problem habe.

Und ich habe in den Fehler abit gelesen, aber verstehe nicht Programmierung fast genug (andere dann, was ich mir selbst im Laufe der Zeit gelehrt habe, die nicht viel ist) zu einer endgültigen Antwort und/oder Lösung zu kommen von diesem Problem. Also dachte ich mir, ich würde hier fragen und vielleicht einige Antworten/mögliche Lösungen rechtzeitig bekommen. Vielen Dank im Voraus!

[ERROR] Failed to execute goal on project moduleCommon: Could not resolve 
dependencies for project com.mtgprice:moduleCommon:jar:1.0: Failed to collect dependencies 
at com.google.appengine.tools:appengine-gcs-client:jar:RELEASE 
-> >com.google.http-client:google-http-client:jar:[1.19.0,2.0): No versions >available for 
com.google.http-client:google-http-client:jar:[1.19.0,2.0) within >specified range -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e >switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please >read the following articles: 
[ERROR] [Help 1] >http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException 
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command 
[ERROR] mvn <goals> -rf :moduleCommon>Build step 'Invoke top-level Maven targets' marked build as failure 
Started calculate disk usage of build 
Finished Calculation of disk usage of build in 0 seconds 
Started calculate disk usage of workspace 
Finished Calculation of disk usage of workspace in 0 seconds 
Finished: FAILURE 

Antwort

9

Ich habe das gleiche Problem heute. Die neueste Version von com.google.http-client ist 1.22.0, die definitiv in den Bereich [1.19.0,2.0] fällt.

Nicht sicher, was den Auflösungsfehler verursacht, aber hier ist ein hacky Arbeit herum.

Finden Sie appengine-gcs-client-0.6.pom in Ihrem lokalen maven Repo.

z.B. Meine ist unter $ HOME/.m2/repository/com/google/appengine/tools/appengine-gcs-client/0.6/appengine-gcs-client-0.6.pom.

Ändern Sie den Versionsbereich auf die neueste Version.

<dependency> 
    <groupId>com.google.http-client</groupId> 
    <artifactId>google-http-client</artifactId> 
    <!-- <version>[1.19.0,2.0)</version> --> 
    <version>1.22.0</version> 
</dependency> 

Ich werde die Antwort aktualisieren, sobald ich eine echte Lösung herausfinden.

Aktualisieren: Ich denke, die Ursache des Problems ist, dass http://central.maven.org/maven2/com/google/http-client/google-http-client/maven-metadata.xml veralteten Inhalt hat.

<?xml version="1.0" encoding="UTF-8"?> 
<metadata> 
    <groupId>com.google.http-client</groupId> 
    <artifactId>google-http-client</artifactId> 
    <versioning> 
    <latest>1.5.3-beta</latest> 
    <release>1.5.3-beta</release> 
    <versions> 
     <version>1.5.0-beta</version> 
     <version>1.5.3-beta</version> 
    </versions> 
    <lastUpdated>20111021163718</lastUpdated> 
    </versioning> 
</metadata> 

Sie können auch Ihre pom.xml aktualisieren, um die säumige transitive Abhängigkeit auszuschließen und es explizit hinzufügen.

<!-- mapreduce --> 
<dependency> 
    <groupId>com.google.appengine.tools</groupId> 
    <artifactId>appengine-mapreduce</artifactId> 
    <version>0.8.5</version> 
    <exclusions> 
     <exclusion> 
      <!-- TODO remove me after the issue is fixed https://github.com/google/google-http-java-client/issues/330 --> 
      <groupId>com.google.http-client</groupId> 
      <artifactId>google-http-client</artifactId> 
     </exclusion> 
    </exclusions> 
</dependency> 

<dependency> 
    <groupId>com.google.appengine.tools</groupId> 
    <artifactId>appengine-gcs-client</artifactId> 
    <version>0.6</version> 
    <exclusions> 
     <exclusion> 
      <!-- TODO remove me after the issue is fixed https://github.com/google/google-http-java-client/issues/330 --> 
      <groupId>com.google.http-client</groupId> 
      <artifactId>google-http-client</artifactId> 
     </exclusion> 
    </exclusions> 
</dependency> 

<!-- Add the transitive dependency explicity --> 
<dependency> 
    <groupId>com.google.http-client</groupId> 
    <artifactId>google-http-client</artifactId> 
    <version>1.22.0</version> 
</dependency> 
+0

Probieren Sie dies jetzt aus und melden Sie sich in Kürze, um Sie zu informieren, ob es hilft. Vielen Dank! Fast scheint es, als ob dies mehr ein Problem am Ende eines anderen ist, von den Geräuschen davon. Aber wiederum, mein Wissen ist in diesem Bereich begrenzt, deshalb werde ich davon absehen, grundlose Annahmen zu treffen. –

+0

Und ok, diese hacky Abhilfe half definitiv, also danke dafür! Ich bin jetzt aber mit einem einzigen Problem links. Was ist, ich weiß, wo/wie ich diese Änderung in meinem lokalen MVN-Repository vornehmen kann. Aber ich weiß nicht, wie ich das in unserem Jenkins-MVN-Repository tun soll. Ich sollte zwar genügend Zugriff haben, bin mir aber nicht sicher, wo ich die Datei finden und/oder bearbeiten soll. Irgendwelche Hinweise darauf, zufällig? –

+0

Wenn Sie solche veralteten Metadaten finden, sollten Sie ein Update benötigen, wie ich hier getan habe: https://issues.sonatype.org/browse/MVNCENTRAL-1187 – khmarbaise