Domanda

Perché ogni volta che faccio "molo mvn: eseguire", Maven Prova a scaricare dei dipendenze (Apache POI e vasi ojdbc)? Come posso disabilitare questa?

[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}]
È stato utile?

Soluzione

Come spiegato nel capitolo 3.5.5. Dipendenza Gestione di Maven :

  

Una dipendenza in Maven non è solo un file JAR; si tratta di un file POM che, a sua volta, può dichiarare dipendenze da altri artefatti. Queste dipendenze di dipendenze sono chiamati dipendenze transitive, e sono rese possibili dal fatto che i negozi repository Maven più di un semplice bytecode; memorizza i metadati relativi manufatti.

Così, quando Maven scarica una dipendenza JAR, non solo scaricare un JAR, ma anche il file POM. Qui, Maven cerca di scaricare loro, ma non esistono (esistono solo i file jar). Quindi Maven non li scriverà nel repository locale e cerca di nuovo la prossima volta.

Ci sono 4 possibilità:

  1. Utilizzare manufatti buon cittadino con i file POM (o chiedere al responsabile per risolvere il problema).
  2. Usa un repository manager e creare e caricare i file POM.
  3. Crea i file POM nel repository locale (per esempio usando install:install-file).
  4. In diretta con esso (sigh) ed eseguire mvn non in linea con l'opzione -o per renderlo meno doloroso.

Altri suggerimenti

perché si vuole per fermarlo? è possibile eseguire senza scaricare le dipendenze? se si vuole ancora farlo chk questo fuori

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

Guardate la exlude tag

In sostanza, le dipendenze verranno scaricati la prima volta quando si esegue il comando, ma alcuni dipendenze potrebbero aver bisogno di confrontare le sue versioni e cercare di ottenere quelle più up-to-date per voi nella vostra prossima fase di esecuzione.

Se non ha sempre una connessione internet o semplicemente si vuole breve il vostro tempo di costruzione, è possibile aggiungere il parametro -o quali mezzi non in linea per eseguire, ad esempio mvn jetty:run -o

Esempio di risposta di Pascal Thivent

  

Crea i file POM nel repository locale (ad esempio utilizzando 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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top