Errore del compilatore "Non è possibile leggere l'archivio per la libreria richiesta" - Spring Tool Suite

StackOverflow https://stackoverflow.com/questions/8857985

Domanda

Sto iniziando a configurare il mio ambiente di sviluppo e sto usando Spring Tool Suite 2.8.1 insieme a M2E 1.01.

Per quanto ne so, dal momento che questo è un progetto Maven (il mio primo), il mio POM Maven sta dettando (insieme a M2E Smarts) la mia configurazione e le dipendenze di costruzione del progetto.

Quello che vorrei sapere è perché il mio IDE sta mostrando problemi di build Java che leggono "Archivio richiesto per la biblioteca Library/Path/Somejar.jar non può essere letto o non è un file zip valido "quando riesco a vedere i barattoli nel mio repository .m2?

Tutti gli errori riguardavano i beni comuni: 1.1.1 che ho escluso nel mio genitore-pom. Questa è stata una dipendenza transistica tramite il supporto a primavera: 3.0.5. Ho escluso quella biblioteca dalla mia build e ora gli errori riguardano la libreria di supporto a primavera.

Ho allegato uno screenshot per illustrare.

Markers

È stato utile?

Soluzione

In effetti gli IDE spesso memorizzano nella cache del repository locale (Eclipse fa qualcosa di simile e devo rilanciare Eclipse).

Un brutto comportamento Maven che potresti incontrare è che se dichiari una dipendenza prima di installarla effettivamente, Maven creerà una versione vuota della dipendenza mancante (cartella con metadati ma nessun barattolo) e dovrai pulire manualmente il tuo repository .m2 .

In terzo luogo, un archivio installato (jar ...) può essere corrotto, quindi prova ad aprirlo con qualsiasi strumento di archivio (7zip ...) per testarlo ed eliminare l'intera cartella se l'archivio è corrotto.

Altri suggerimenti

Nel mio caso ho dovuto eliminare manualmente tutti i file in .m2\repository cartella e quindi aprire il prompt dei comandi ed eseguire mvn -install comando nella mia directory del progetto.

Stavo usando Eclipse come IDE e stavo ottenendo lo stesso errore. Ho dovuto fare il progetto-> Maven-> Aggiorna progetto. Seleziona tutte le caselle di controllo seguenti tranne "offline" esp. L'unico "aggiornamento della forza di istantanee/versioni" e fare clic su OK. Ha fatto di nuovo la build pulita per il progetto.

Elimina i file danneggiati dal repository .m2 locale e Ctrl+F5 (Aggiorna il progetto Maven) in Eclipse/STS. Scaricherà e installerà questi file.

Questo ha funzionato per me.

  1. Close Eclipse
  2. Elimina ./m2/repository
  3. Apri Eclipse, scaricherà automaticamente tutti i barattoli
  4. Se rimane ancora un problema, fai clic con il pulsante destro del mouse Project> Maven> Aggiorna progetto ...> Controlla l'aggiornamento della forza di istantanee/versioni '

Per Googlers:

Nel mio caso avevo accidentalmente aggiunto manualmente una classe Java al percorso di build Mentre colpisce Eclipse. Dando un'occhiata al percorso di build 'Configura ...> Librerie ho rimosso la classe colpevole e ora ho solo il

  • Biblioteca di sistema JRE
  • Dipendenze Maven

E niente si lamenta.

Di seguito i passaggi hanno risolto il mio problema.

  1. Vai alla cartella ./M2/Repository.

  2. Vai alla rispettiva cartella di errore dell'archivio.

  3. Verificare che esista qualsiasi file zip.

  4. Elimina la cartella Nome errore.

  5. Ora vieni al progetto Eclipse - Click destro - Maven -> Aggiorna progetto.

Il trucco sopra funziona per me.

Nel mio caso ho provato tutti i suggerimenti suggeriti ma l'errore è rimasto. Ho risolto cambiando con una versione più recente e scrivendola in POM.xml. Dopo questo è tutto ora ok.

Ho eliminato il repository Maven locale. Quindi basta fare clic con il destro del progetto -> Maven -> Aggiorna progetto ... Seleziona tutti i progetti interessati e fai clic su OK.

Rimuovere le dipendenti Maven dal percorso di build

Ho affrontato questo problema. Avevo "Archivio per la libreria richiesta la libreria Spring-boot-devtools non può essere letto o non è un file zip valido" e la soluzione era così:-1- Determina i nomi delle dipendenze che hanno problemi (per caso è che è molla-boot- DevTools). 2- Close Eclipse. 3- Cerca nel tuo file .m2 da queste dipendenze (per nome). 4- Elimina queste cartelle. 5- Riapri l'eclissi e lascia che Maven ricostruisca di nuovo le tue dipendenze.

OK, ho avuto lo stesso problema con STS su un Mac e l'ho risolto eliminando tutti i file nella cartella del repository e dall'IDE STS fare clic sul progetto e quindi Maven -> Aggiorna il progetto. Dagli un paio di minuti per scaricare tutte le dipendenze e il problema è risolto.

Affronto con lo stesso problema. Ho eliminato il repository locale e ho rilanciato l'ID. Ha funzionato bene.

Ho appena avuto questo problema su Indigo SR2. È apparso dopo che ho rimosso un barattolo superfluo dal percorso di classe (percorso di costruzione). Il riavvio di Eclipse non ha aiutato. Aggiunto il barattolo al percorso di build ... l'errore è andato via. Ho rimosso di nuovo il barattolo e questa volta sono stato risparmiato da un'altra lamentela.

Nessuna delle soluzioni sopra ha aiutato il mio problema. L'ho risolto eliminando tutti i file nella cartella {ProjectWorkSpace}/. Spero che questo aiuti qualcuno, applausi!

Quando ho ricevuto un errore che diceva che "l'archivio per la libreria richiesta non poteva essere letto", l'ho risolto rimuovendo i barattoli in questione dal percorso di build del progetto e quindi usando "Aggiungi barattoli esterni" per aggiungerli di nuovo (navigando nella stessa cartella in cui si trovavano). L'uso del pulsante "Aggiungi barattoli" non funzionerebbe e l'errore sarebbe ancora lì. Ma usando "Aggiungi barattoli esterni" ha funzionato.

Ciò potrebbe essere dovuto ad aver aggiunto il file Spring-Licence.txt alle librerie delle app Web.

Ho avuto un problema simile e mi sono risolto dopo aver rimosso quel file di testo. Nelle biblioteche si aspetterà solo file jar.

Stavo affrontando lo stesso problema con il mio progetto.

Il mio progetto non è stato in grado di trovare questo archivio: -

C:\Users\rakeshnarang\.m2\repository\org\hibernate\hibernate-core\5.3.7.Final

Sono andato a questa directory e ho eliminato questa cartella.

Sono tornato a Eclipse e premi Alt + F5 per aggiornare il progetto.

Il file jar è stato scaricato di nuovo e il problema è stato risolto.

Dovresti provare questo.

In alternativa, i comandi di seguito hanno funzionato anche per me:

mvn -s settings.xml eclipse:clean
mvn -s settings.xml eclipse:eclipse
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top