Frage

Warum jedes Mal wenn ich "mvn jetty: run" do Maven versucht einige Abhängigkeiten (Apache POI und ojdbc Gläser) zum Download? Wie kann ich das abschalten?

[INFO] Scanning for projects..    
[INFO] Searching repository for plugin with prefix: 'jetty'.
[INFO] ------------------------------------------------------------------------
[INFO] Building infolitReport
[INFO]    task-segment: [jetty:run]
[INFO] ------------------------------------------------------------------------
[INFO] Preparing jetty:run
Downloading: http://repository.springsource.com/maven/bundles/release/org/apache/poi/com.springsource.org.apache.poi/3.6/com.springsource.org.apache.poi-3.6.pom
Downloading: http://repository.springsource.com/maven/bundles/external/org/apache/poi/com.springsource.org.apache.poi/3.6/com.springsource.org.apache.poi-3.6.pom
Downloading: http://repository.springsource.com/maven/bundles/milestone/org/apache/poi/com.springsource.org.apache.poi/3.6/com.springsource.org.apache.poi-3.6.pom
Downloading: http://repository.springsource.com/maven/bundles/snapshot/org/apache/poi/com.springsource.org.apache.poi/3.6/com.springsource.org.apache.poi-3.6.pom
Downloading: http://repo1.maven.org/maven2/org/apache/poi/com.springsource.org.apache.poi/3.6/com.springsource.org.apache.poi-3.6.pom
Downloading: http://repository.springsource.com/maven/bundles/release/com/oracle/ojdbc14/10.2.0.2/ojdbc14-10.2.0.2.pom
Downloading: http://repository.springsource.com/maven/bundles/external/com/oracle/ojdbc14/10.2.0.2/ojdbc14-10.2.0.2.pom
Downloading: http://repository.springsource.com/maven/bundles/milestone/com/oracle/ojdbc14/10.2.0.2/ojdbc14-10.2.0.2.pom
Downloading: http://repository.springsource.com/maven/bundles/snapshot/com/oracle/ojdbc14/10.2.0.2/ojdbc14-10.2.0.2.pom
Downloading: http://repo1.maven.org/maven2/com/oracle/ojdbc14/10.2.0.2/ojdbc14-10.2.0.2.pom
[INFO] [aspectj:compile {execution: default}]
War es hilfreich?

Lösung

Wie im Kapitel 3.5.5. Maven Dependency-Management :

  

Eine Abhängigkeit in Maven ist nicht nur eine JAR-Datei; es ist eine POM-Datei, die sich wiederum Abhängigkeiten von anderen Artefakte erklären kann. Diese Abhängigkeiten von Abhängigkeiten werden transitive Abhängigkeiten genannt, und sie sind möglich gemacht durch die Tatsache, dass der Maven Repository speichert mehr als nur Bytecode; es speichert Metadaten über Artefakte.

Also, wenn Maven eine JAR-Abhängigkeit herunterlädt, ist es nicht nur eine JAR-Download, sondern auch die POM-Datei. Hier versucht Maven sie herunterladen, aber sie existieren nicht (nur die JAR-Dateien vorhanden sind). So maven wird sie nicht in das lokale Repository schreiben und versucht, beim nächsten Mal wieder.

Es gibt 4 Möglichkeiten:

  1. Verwenden gute Bürger Artefakte mit POM-Dateien (oder die verantwortlichen bitten, das Problem zu beheben).
  2. Verwenden Sie ein Repository-Manager und erstellen und die POM-Dateien hochgeladen werden.
  3. Erstellen Sie die POM-Dateien in Ihrem lokalen Repository (zB mit install:install-file).
  4. mit ihr leben (seufz) und laufen mvn offline mit der -o Option, um es weniger schmerzhaft.

Andere Tipps

Warum würden Sie wollen, dass es zu stoppen? Sie können es ohne Download Abhängigkeiten führen? wenn Sie noch dies tun wollen so chk out

http://maven.apache.org /plugins/maven-resources-plugin/examples/include-exclude.html

Sehen Sie sich die exlude Tags

Im Grunde genommen werden die Abhängigkeiten zum ersten Mal heruntergeladen, wenn Sie den Befehl ausführen, aber einige Abhängigkeiten müssen ihre Versionen vergleichen und versuchen, die meisten zu bekommen up-to-date diejenigen, für die Sie in Ihrem nächsten Lauf.

Wenn Sie nicht immer eine Internetverbindung hat oder einfach nur kurz auf Ihre Build-Zeit, können Sie -o Parameter anhängen, die Mittel offline laufen, zum Beispiel mvn jetty:run -o

Beispiel der Antwort von Pascal Thivent

  

Erstellen Sie die POM-Dateien in Ihrem lokalen Repository (zB mit install:install-file)

mvn install:install-file -DgroupId=org.apache.commons -DartifactId=codec -Dversion=1.3 -Dpackaging=jar -Dfile=lib/commons-codec-1.3.jar -DgeneratePom=true
mvn install:install-file -DgroupId=org.apache.commons -DartifactId=httpclient -Dversion=3.1 -Dpackaging=jar -Dfile=lib/commons-httpclient-3.1.jar -DgeneratePom=true
mvn install:install-file -DgroupId=org.apache.commons -DartifactId=logging -Dversion=1.1 -Dpackaging=jar -Dfile=lib/commons-logging-1.1.jar -DgeneratePom=true
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top