2014-09-10 12 views
26

Ho Eclipse Luna e Maven 3.2.3 installati su un computer Windows 7 dietro un firewall aziendale.Impossibile creare Maven Project in eclissi

Cercando di creare un progetto da un archetipo genera il seguente errore:

Could not resolve archetype org.apache.maven.archetypes:maven-archetype-quickstart:RELEASE from any of the configured repositories.

Could not resolve artifact org.apache.maven.archetypes:maven-archetype-quickstart:pom:RELEASE

Failed to resolve version for org.apache.maven.archetypes:maven-archetype- quickstart:pom:RELEASE: Could not find metadata org.apache.maven.archetypes:maven-archetype-quickstart/maven-metadata.xml in local (C:\Users\xxxx.m2\repository)

Failed to resolve version for org.apache.maven.archetypes:maven-archetype-quickstart:pom:RELEASE: Could not find metadata org.apache.maven.archetypes:maven-archetype-quickstart/maven-metadata.xml in local (C:\Users\xxxx.m2\repository)

Proxy sono configurati in .m2/settings.xml e generare un progetto maven da un archetipo funziona bene nella linea di comando.

Ho provato ad applicare le soluzioni da here ma nessuna ha funzionato. Anche il catalogo remoto non è accessibile. Immagino sia un problema con le impostazioni di rete di Eclipse. Ho anche guardato a this bug report per cercare di trovare alcuni indizi e non riuscivo a capire come implementare la soluzione alternativa.

qui è il mio file di settings.xml:

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 
         http://maven.apache.org/xsd/settings-1.0.0.xsd"> 
    <servers> 
     <server> 
      <id>nexus</id> 
      <username>[email protected]</username> 
      <password>{XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}</password> 
     </server> 
     <server> 
      <id>deployment</id> 
      <username>[email protected]</username> 
      <password>{XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}</password> 
     </server> 
    </servers> 
    <mirrors> 
     <mirror> 
     <!--This sends everything else to /public --> 
     <id>nexus</id> 
     <mirrorOf>*</mirrorOf> 
     <url>https://nexus-int.xxxx.xxxx.com/nexus/content/groups/public</url> 
     </mirror> 
    </mirrors> 
    <profiles> 
     <profile> 
     <id>nexus</id> 
      <!--Enable snapshots for the built in central repo to direct --> 
     <!--all requests to nexus via the mirror --> 
     <repositories> 
      <repository> 
       <id>central</id> 
       <url>http://central</url> 
       <releases><enabled>true</enabled></releases> 
       <snapshots><enabled>true</enabled></snapshots> 
      </repository> 
     </repositories> 
     <pluginRepositories> 
      <pluginRepository> 
       <id>central</id> 
       <url>http://central</url> 
       <releases><enabled>true</enabled></releases> 
       <snapshots><enabled>true</enabled></snapshots> 
      </pluginRepository> 
     </pluginRepositories> 
     </profile> 
    </profiles> 
    <activeProfiles> 
     <!--make the profile active all the time --> 
     <activeProfile>nexus</activeProfile> 
    </activeProfiles> 
</settings> 

Tutte le idee?

Grazie

Tomer

+0

Sembra un problema proxy. Ho provato con la stessa configurazione e in grado di generare quickstart. Vai al tuo repository (.m2 \ repository \ org \ apache \ maven \ archetypes), elimina la cartella maven-archetype-quickstart e riprova (Assicurati che il tuo proxy sia configurato correttamente, sarebbe meglio se puoi postare le impostazioni. xml qui). In alternativa, scaricare questo jar da http://search.maven.org/remotecontent?filepath=org/apache/maven/archetypes/maven-archetype-quickstart/1.1/maven-archetype-quickstart-1.1.jar e copiarlo manualmente . – Bala

+1

o.k. Ho un aggiornamento! Ho rimosso le informazioni sul repository per il repository interno e ho inserito solo le informazioni proxy e ha funzionato! qualcosa sul reindirizzamento al repository aziendale interno e sui m2e confusi, anche se il repository è essenzialmente uno specchio di centrale ritardato nel tempo. – Tomer

+1

perché ci sono così tanti archetipi? qualcuno usa qualcosa di diverso da quickstart? e perché devo imparare tutto questo solo per iniziare con il mio lavoro.Maven è una distrazione enorme, richiede troppa attenzione di quanto meriti. – weima

risposta

50

Stesso problema qui, risolti.

Spiegherò il problema e la soluzione, per aiutare gli altri.

Il mio software è:

Windows 7 
Eclipse 4.4.1 (Luna SR1) 
m2e 1.5.0.20140606-0033 
    (from eclipse repository: http://download.eclipse.org/releases/luna) 

E sto accesso a internet attraverso un proxy.

mio problema era lo stesso:

  • M2E Appena installato, è andato a menù: File> Nuovo> Altro> Maven> progetto Maven> Avanti> Avanti.
  • Seleziona "Catalogo: tutti i cataloghi" e "Filtro: maven-archetype-quickstart", quindi fai clic sul risultato della ricerca, quindi sul pulsante Avanti.
  • Quindi immettere "ID gruppo: test_gr" e "Id artefatto: test_art", quindi fare clic sul pulsante Fine.
  • Ottenuto l'errore "Impossibile risolvere l'archetipo ...".

Dopo un sacco di tentativi ed errori e la lettura di molte pagine, ho finalmente trovato una soluzione per risolverlo. Alcuni punti importanti della soluzione:

  • usa il default (embedded) impianto Maven (3.2.1/1.5.0.20140605-2032) che viene fornito con M2E.
  • Quindi non è richiesta alcuna installazione Mover esterna (esterna).
  • Non è richiesta alcuna configurazione m2e speciale.

La soluzione è:

  • Aprire Eclipse.
  • Ripristinare le preferenze originali m2e (se ne è stato modificato uno qualsiasi): Fare clic sul menu: Finestra> Preferenze> Preparazione> Ripristina impostazioni predefinite. Fai lo stesso per tutti gli elementi dell'albero nella voce "Maven": Archetypes, Discovery, Errori/Avvisi, Installazione, Mapping del ciclo di vita, Modelli, Interfaccia utente, Impostazioni utente. Clicca sul pulsante "OK".
  • Copia (ad esempio in una finestra di Blocco note) il percorso del file delle impostazioni utente. Per visualizzare il percorso, fai nuovamente clic sul menu: Finestra> Preferenze> Maven> Impostazioni utente e il percorso si trova nella casella di testo "Impostazioni utente". Dovrai scrivere il percorso manualmente, poiché non è possibile copiare e incollare. Dopo aver copiato il percorso del blocco note, non chiudere la finestra delle preferenze.
  • Nella finestra delle preferenze che è già aperta, fare clic sul collegamento "Apri file". Chiudi la finestra delle preferenze e vedrai il file "settings.xml" già aperto in un editor di Eclipse.
  • L'editor avrà 2 schede in basso: "Design" e "Source". Clicca sulla scheda "Sorgente". Vedrai tutto il codice sorgente (xml).
  • Elimina tutto il codice sorgente: Clicca sul codice, premi control + a, premi "del".
  • Copia il seguente codice per l'editor (e personalizzare i valori in maiuscolo):
<settings> 
    <proxies> 
    <proxy> 
     <active>true</active> 
     <protocol>http</protocol> 
     <host>YOUR.PROXY.IP.OR.NAME</host> 
     <port>YOUR PROXY PORT</port> 
     <username>YOUR PROXY USERNAME (OR EMPTY IF NOT REQUIRED)</username> 
     <password>YOUR PROXY PASSWORD (OR EMPTY IF NOT REQUIRED)</password> 
     <nonProxyHosts>YOUR PROXY EXCLUSION HOST LIST (OR EMPTY)</nonProxyHosts> 
    </proxy> 
    </proxies> 
</settings> 
  • Salvare il file: il controllo + s.
  • Exit Eclipse: Menu File> Exit.
  • Aprire in un Esplora risorse il percorso copiato (senza il nome file, solo il percorso delle directory).
  • Probabilmente vedrete il file xml ("settings.xml") e un directoy ("repository"). Rimuovere il file directoy ("repository"): tasto destro> Elimina> Sì.
  • Avvia Eclipse.
  • Ora sarà possibile creare un progetto di maven: File> Nuovo> Altro> Maven> Progetto Maven> Avanti> Avanti, selezionare "Catalogo: Tutti i cataloghi" e "Filtro: maven-archetype-quickstart", fare clic sul risultato della ricerca, quindi sul pulsante Avanti, inserire "ID gruppo: test_gr" e "Id artefatto: test_art", fare clic sul pulsante Fine.

Infine, vorrei dare un suggerimento a M2E sviluppatori, per rendere più facile config. Dopo aver installato m2e da ​​internet (da un repository), m2e dovrebbe verificare se Eclipse sta usando un proxy (Preferenze> Generali> Connessioni di rete). Se Eclipse sta usando un proxy, il M2E dovrebbe mostrare una finestra di dialogo per l'utente:

m2e has detected that Eclipse is using a proxy to access to the internet. 
Would you like me to create a User settings file (settings.xml) for the embedded 
Maven software? 

[ Yes ] [ No ] 

Se l'utente fa clic su Sì, quindi M2E dovrebbe creare automaticamente il file "settings.xml" copiando i valori del proxy da preferenze di Eclipse .

+0

Non capisco in quale sia la tua soluzione diversa dalla mia. Sembra che tu abbia appena aggiunto una dichiarazione proxy al file delle impostazioni utente. Ho ragione? o mi sono perso qualcosa. Il mio problema è che posso capire come combinare la dichiarazione del proxy con una priorità per scaricare gli artefatti dal repository Maven interno. – Tomer

+0

Beh, forse la tua soluzione è simile alla mia soluzione, ho appena pubblicato la cosa che ha funzionato per me, che consiste fondamentalmente in: 1. Rimuovere la configurazione maven adizionale (esterna) da m2e config in eclissi; 2. Utilizzare solo il Maven incorporato in m2e; 3. Ripristina tutta la configurazione originale (predefinita) in m2e; 4. Rimuovere tutti i file maven scaricati (directory "repository"); 5. Creare un file settings.xml con le mie impostazioni proxy. – freesoft

+0

Grazie! Questo aiuta! – TechDog

24

Per me la soluzione era un po 'più semplice, ho dovuto solo pulire il repository:.m2/repository/org/apache/Maven/archetipi

+1

Ho eliminato quella cartella per 'archetypes-quickstart' e ha funzionato. Non so perché però. – vanguard69

+1

ha funzionato anche per me! –

+0

Grazie .. Funziona per me ..) – Vicky

3

Ho questo problema troppo, e ho risolto finalmente, questa è la soluzione:

go to windows-->preference-->maven-->user settings

Modificare il percorso settings.xml ad un percorso valido.

Il percorso forse non sotto .m2 directory (nella vostra home directory) ..

+0

grazie questo era esattamente il mio problema! –

1

avevo lo stesso errore visualizzato durante la creazione del progetto, ma non ero dietro un proxy e quindi le soluzioni di cui sopra non l'ha fatto lavora per me.

Ho trovato this forum. Si consiglia di:

  1. Delete or Rename .m2 directory from your HOME directory

In Windows - C:\Users\<username>\Windows

O

In Linux - /home/<username> 
  1. restart the Eclipse/STS spring tool suite (which am using)

Ha funzionato!

7

Basta eliminare $ {user.home} /. M2/repository/org/apache/maven/archetypes per aggiornare tutti i file necessari, ha funzionato bene per me!

+0

Grazie mille. Questo lavoro per me .. Grazie ancora ..... –

3

Nel mio caso la seguente soluzione ha funzionato.

  1. Eliminare STAMPA directory & resolver-status.properties di file nel repository Maven locale sotto directory .m2 /../ Maven-archetipo-QuickStart.
  2. Creare il progetto Maven in Eclipse o STS (Spring Tool Suite). Scaricherà automaticamente l'archetipo Quickstart & come previsto.

Spero che questo possa aiutare qualcuno.

0

Sto usando Spring STS 3.8.3. Ho avuto un problema simile. L'ho risolto utilizzando le informazioni da questo thread e anche correggendo alcune impostazioni di prova. fai clic su Spring Tool Suite -> Preferenze -> Maven e deseleziona la casella "Non aggiornare automaticamente le dipendenze dai depositi remoti" Inoltre ho spuntato le caselle che dicevano "Scarica sorgenti artefatto" e "Scarica artefatto javadoc".

Problemi correlati