2010-07-22 12 views
5

Sono seduto dietro un firewall e pertanto Maven non è in grado di connettersi ai repository centrali (di seguito è riportato un messaggio di errore).Maven: Come installare un plug-in in modalità offline

Tuttavia, posso connettermi a Internet via HTTP.

Come è possibile installare un plug-in Maven (ad esempio un archetipo) in modalità offline (ad esempio, scaricare alcuni file in un browser e quindi installare il plug-in eseguendo alcuni comandi)?

Grazie in anticipo

Dmitri

PS: Qui è il messaggio di errore:

E:\>mvn archetype:generate -DarchetypeGroupId=com.vaadin 
-DarchetypeArtifactId=vaadin-archetype-clean -DarchetypeVersion=LATEST -DgroupI 
d=at.swdev -DartifactId=pcc -Dversion=1.0 -Dpackaging=war 
[INFO] Scanning for projects... 
[INFO] Searching repository for plugin with prefix: 'archetype'. 
[INFO] org.apache.maven.plugins: checking for updates from central 
[WARNING] repository metadata for: 'org.apache.maven.plugins' could not be retri 
eved from repository: central due to an error: Error transferring file: Connecti 
on refused: connect 
[INFO] Repository 'central' will be blacklisted 
[INFO] ------------------------------------------------------------------------ 
[ERROR] BUILD ERROR 
[INFO] ------------------------------------------------------------------------ 
[INFO] The plugin 'org.apache.maven.plugins:maven-archetype-plugin' does not exi 
st or no valid version could be found 
[INFO] ------------------------------------------------------------------------ 
[INFO] For more information, run Maven with the -e switch 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 1 second 
[INFO] Finished at: Thu Jul 22 15:17:00 CEST 2010 
[INFO] Final Memory: 1M/15M 
[INFO] ------------------------------------------------------------------------ 

risposta

7

Sono seduto dietro un firewall e quindi esperto di Non è possibile connettersi a repository centrali (di seguito è riportato un messaggio di errore). Tuttavia, posso connettermi a Internet tramite HTTP.

Forse dovresti chiarire un po 'perché anche Maven usa HTTP. Se ci si connette attraverso un qualche tipo di proxy, è possibile configurare Maven in tal modo dichiarando il proxy nel proprio ~/.m2/settings.xml. Vedi Configuring a proxy.

Come è possibile installare un plug-in Maven (ad esempio un archetipo) in modalità offline (ad esempio, scaricare alcuni file in un browser e quindi installare il plug-in eseguendo alcuni comandi)?

È possibile installare qualsiasi vaso nel repository locale utilizzando il install:install-file obiettivo (vedi la pagina Usage). Ma questa è solo una piccola parte della storia, dovrai installare anche le dipendenze del plugin. E poi le dipendenze delle dipendenze. Questo diventerà molto presto un vero incubo e un compito ingestibile (che Maven cerca precisamente di risolvere). Quindi, o:

  • Configura Maven per accedere a Internet, se questo è possibile ~ o ~
  • Impostare un repository aziendale (come Nexus) su una macchina dedicata, vedere con i vostri amministratori come permettere che l'accesso a Internet) e configurare il client Maven per usarlo ~ ~ o
  • Copy un repository locale "pre-popolato" da una macchina esistente alla vostra macchina ed eseguire offline Maven (con tutti i limiti che ciò comporta) ~ o ~
  • non
  • utilizzare Maven
+0

Grazie, la configurazione del proxy ha aiutato! –

+0

@ ~ dp-sw-dev: prego. Sono contento che ci abbia aiutato. –

+0

Aveva lo stesso problema. Oh baby! Benedici U Pascal !! : D. Il tuo nome dovrebbe essere 'Turbo' Pascal !! GRANDE GRAZIE UOMO !!! –

0

Se non è possibile utilizzare il proxy, è necessario scaricare tutte le dipendenze del plug-in come ha detto Pascal. Il modo più semplice per farlo.

Scaricare tutte le dipendenze utilizzando una macchina con connessione http normale/proxy. Il plug-in di dipendenza Maven ha un obiettivo che può aiutarti. dipendenza mvn: go-offline

Ad esempio, lo uso per ottenere le dipendenze Maven del tutorial di app-fuse.

svn co (http qui) appfuse-demos.googlecode.com/svn/trunk/helloworld~~V~~singular~~3rd (codice controllare sorgente) mvn install (installazione e vedere che funziona in macchina normale) dipendenza mvn: Go- offline (scarica tutto.Aiuto: dice a Maven di risolvere tutto ciò su cui questo progetto dipende (dipendenze, plug-in, rapporti) in preparazione per andare offline.)

dopodiché nel tuo repository m2 locale (~/m2/repository), troverai tutto ciò di cui hai bisogno. Zip quella cartella. Scaricalo nella tua intranet. estrailo nel tuo repository locale o repository aziendale (nexus, artefattore ..)

ora dovresti essere in grado di utilizzare quel plug-in.

http://maven.apache.org/plugins/maven-dependency-plugin/

0

immagino il firewall di sicurezza non consente di scaricare da repo.So centrale Maven, è possibile specificare semplicemente specchi nel file settings.xml nella maven_home. se si dispone di un repository per la propria azienda come say nexus, fornire l'URL del server di quel nexus nella sezione mirrors in settings.xml. Si noti che nel caso in cui se non si dispone di un repository per la propria azienda, è necessario scaricare tutte le dipendenze non in linea e installare utilizzando mvn install nel repository locale nel proprio build server.

Problemi correlati