Kesalahan Maven "Gagal mentransfer ..."

285

Saya mencoba mengatur proyek menggunakan Maven (m2eclipse), tapi saya mendapatkan kesalahan ini di Eclipse:

Deskripsi Sumber Daya Path Jenis Lokasi Tidak dapat menghitung rencana bangun: Gagal mentransfer org.apache.maven.plugins: maven-compiler-plugin: pom: 2.0.2 dari http://repo1.maven.org/maven2 di -cache di lokal repositori, resolusi tidak akan diulang kembali sampai interval pembaruan pusat telah berlalu atau pembaruan dipaksa. Kesalahan asli: Tidak dapat mentransfer artifact org.apache.maven.plugins: maven-compiler-plugin: pom: 2.0.2 dari / ke pusat ( http://repo1.maven.org/maven2 ): Tidak ada respons yang diterima setelah 60000 ContohProyek Masalah Maven Tidak Dikenal

Ada ide? Akan sangat membantu jika Anda bisa menunjukkan kepada saya cara memeriksa apakah semuanya sudah dikonfigurasikan dengan baik ...

Deepak Joy
sumber

Jawaban:

719

Hapus semua unduhan Anda yang gagal:

find ~/.m2  -name "*.lastUpdated" -exec grep -q "Could not transfer" {} \; -print -exec rm {} \;

Untuk windows:

cd %userprofile%\.m2\repository
for /r %i in (*.lastUpdated) do del %i

Kemudian klik kanan pada proyek Anda di gerhana dan pilih Maven -> "Perbarui Proyek ...", pastikan "Perbarui Ketergantungan" dicentang dalam dialog yang dihasilkan dan klik OK.

Jonas Andersson
sumber
6
Di Windows saya menggunakan dialog explorer untuk mencari * .lastUpdated di% USERPROFILE% \. M2 lalu menghapus file yang dilaporkan Eclipse bermasalah. Berhasil! Saya yakin Anda bisa melakukannya menggunakan findstr atau serupa tetapi GUI berfungsi.
Mark McDonald
4
Di Windows, saya membuka Windows Explorer dan mengklik kanan .m2 -> Search .... Saya meletakkan * .lastUpdated dalam nama file dan "Tidak dapat mentransfer" di kotak teks "Kata atau frasa dalam file".
rajah9
4
Di windows, file-file itu berada di dalam <user-dir>/.m2/repository/org/example/myTool/1.01(Anda lihat triknya). Hapus saja mereka (dengan *.lastUpdated) dan perbarui dependensi.
Cedric Reichenbach
2
Di bawah Eclipse Luna (4.4 tonggak) pada Windows saya menemukan bahwa setelah menghapus * .lastUpdated saya juga perlu mendapatkan m2eclipse untuk Reindex Repositori Lokal (melalui Eclipse-> Window-> Preferences-> Maven-> Pengaturan Pengguna: Repositori Lokal: Reindex)
gb96
2
setelah mencabut rambut saya selama berjam-jam ... akhirnya solusi ini bekerja untuk saya di neon gerhana .... terima kasih
Tayab Hussain
71

Ini bekerja untuk saya di Windows juga.

  1. Temukan repositori {user} /. M2 / (Menggunakan Juno / Win7 di sini)
  2. Di bidang pencarian di kanan atas jendela, ketik ".lastupdated". Windows akan memeriksa semua subfolder untuk file-file ini di direktori. (Saya tidak melihat melalui cache.)
  3. Hapus mereka dengan Klik kanan> Hapus (saya menyimpan semua properti lastupdated.prop).
  4. Kemudian kembali ke Eclipse, Klik kanan pada proyek dan pilih Maven> Perbarui Proyek. Saya memilih untuk "Memaksa Pembaruan Foto / Rilis". Klik Ok dan dependensi akhirnya diselesaikan dengan benar.
iowatiger08
sumber
1
Juga ditemukan bahwa jika Anda memiliki referensi yang salah (sintaks atau nomor versi) ke pustaka, mereka tidak akan mengunduh. Gunakan alat pencarian repositori online Maven untuk memastikan Anda merujuk perpustakaan dengan benar di pom.xml Anda.
iowatiger08
Ini bekerja untuk windows. Terima kasih banyak kawan! Namun masalah ini berulang kali terjadi. Apakah kami memiliki perbaikan permanen?
LINGS
@ iowatiger08 apa yang terjadi jika saya menghapus file lastupdated.properties juga?
garg10mungkin
@ garg10may Saya tidak berpikir menghapus mereka akan menjadi masalah besar karena Maven akan mengisi ulang mereka ketika melakukan "pembaruan" berikutnya.
iowatiger08
@ iowatiger08, Ada kesalahan jika saya menggunakan versi seperti <version> [1.0.0,2.0.0) </version> dalam file pom saya, tetapi saya mengubah versi menjadi 1.6.10, kesalahan hilang. Kenapa ini terjadi?
gfan
32

Dalam Eclipse: Klik kanan proyek-> Maven-> Perbarui Proyek-> centang kotak "Paksa Pembaruan Snapshots / Rilis". Klik OK.

Zhenya
sumber
17

Terima kasih atas balasannya, tetapi setelah beberapa pencarian lagi saya dapat memperbaiki masalah. Ternyata saya harus menghapus salah satu "* .lastUpdated" yang mencegah salah satu plugin saya (Maven Surefire Plugin) memperbarui. Saya melakukan ini secara manual, karena seorang pakar membersihkan tampaknya tidak melakukannya.

Masalahnya adalah file "* .lastUpdated" untuk sebuah plugin memblokir cek maven untuk pembaruan dan tidak mengizinkan botol yang diperlukan untuk diunduh.

Deepak Joy
sumber
4
Mungkin sudah jelas, tetapi saya hanya ingin menambahkan: Setelah secara manual mencari file * .lastUpdated yang ditentukan dalam repositori maven (salah satunya dalam kasus saya), dan menghapusnya, kita harus membersihkan proyek di Eclipse.
superjos
15

Coba jalankan

mvn -U clean

atau Jalankan> Maven Clean dan Maven> Perbarui foto dari menu konteks proyek dalam gerhana

Lev Khomich
sumber
9

Dalam kasus saya. Masalahnya adalah alasan yang sama. Saya melihat masalahnya ada pada proxy dan firewall.

Berikut solusi saya
Fisrt cara:
1. install proxy untuk Maven dan Eclipse
2. Pergi ke Tempatkan . {User} / m2 / repositori dan Hapus semua * .lastupdated file
3. Kembali ke Eclipse, klik kanan pada proyek dan pilih Maven> Perbarui Proyek. > Pilih "Paksa Pembaruan Snapshots / Rilis".

Jika proyek masih ada kesalahan. contoh: ini masalah saya setelah semua langkah di atas

Failure to transfer org.apache.maven:maven-archiver:pom:2.5 from https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact org.apache.maven:maven-archiver:pom:2.5 from/to central (https://repo.maven.apache.org/maven2): Connect timed out

Saya menggunakan solusi ini berguna bagi saya:
1. Temukan repositori di https://mvnrepository.com/
2. Salin ketergantungan ke * saya .poml dari
contoh proyek

<dependency>
    <groupId>org.apache.maven</groupId>
    <artifactId>maven-archiver</artifactId>
    <version>2.5</version>
</dependency>


3. Bangun proyek. ketergantungan yang hilang akan diunduh ke repositori lokal.
4. Kembali ke Eclipse, Klik kanan pada proyek dan pilih Maven> Perbarui Proyek. > Pilih "Paksa Pembaruan Snapshots / Rilis".
= >> Kesalahan teratasi
5. Saya menghapus dependensi pada langkah 2 setelah selesai dan teratasi. Selesai

huan le
sumber
7

Ini bekerja untuk saya di Windows:

  1. Temukan {user}/.m2/repository
  2. Di bidang Pencarian di kanan atas jendela, ketik " .lastupdated". Windows akan memeriksa semua subfolder untuk file-file ini di direktori.
  3. Hapus semua .lastupdatedfile.
  4. Kembali ke Eclipse, Klik kanan pada proyek dan pilih Maven > Update Project.
  5. Pilih " Force Update of Snapshots/Releases".
  6. Klik Ok dan dependensi akhirnya akan menyelesaikan dengan benar.
sumeet kumar
sumber
6

Itu terjadi pada saya ketika saya berada di belakang firewall. Ketergantungan tidak kadang-kadang diunduh saat Anda menjalankan di Eclipse IDE. Pastikan Anda menggunakan mvn clean install -Uuntuk menyelesaikan masalah. Anda akan melihat unduhan dependensi setelah ini.

Keran
sumber
Setelah Anda melakukan ini di terminal Anda, pergi ke Eclipse, pilih proyek dan "Refresh Project". Ini harus menyelesaikan masalah tanpa memperkenalkan kesulitan menemukan dan menghapus ".lastUpdated".
Edward Quixote
5

Jika Anda berada di belakang proxy, Anda harus memperbarui file settings.xml (di bawah folder conf dari MAVEN_HOME Anda, file itu sendiri berisi informasi tentang pengaturan proxy) dan Anda mungkin perlu memperbarui Pengaturan Jaringan Eclipse Anda (Window-> Preferensi ...-> ketikkan Koneksi Jaringan).

Coba gunakan -X atau --debug untuk mendapatkan hasil debug, ini bisa memberikan informasi tambahan tentang masalah tersebut.

Abel Morelos
sumber
3

Saya memiliki masalah serupa di Eclipse 3.6 dengan m2eclipse.

Tidak dapat menghitung rencana bangun: Gagal mentransfer org.apache.maven.plugins: maven-resources-plugin: jar: 2.4.3 dari http://repo1.maven.org/maven2 di -cache dalam repositori lokal, resolusi tidak akan diulang kembali sampai interval pembaruan pusat telah berlalu atau pembaruan dipaksa. Kesalahan asli: Tidak dapat mentransfer artifact org.apache.maven.plugins: maven-resources-plugin: jar: 2.4.3 dari pusat (http://repo1.maven.org/maven2): ConnectException project1 Unknown Maven Problem

Menghapus semua file maven * .lastUpdated dari reositori lokal saya (seperti yang disarankan Deepak Joy) memecahkan masalah itu.

Luki
sumber
2

Saya memiliki masalah serupa dengan hanya beberapa proyek di ruang kerja saya. Proyek lain dengan POM yang hampir identik tidak memiliki kesalahan sama sekali. Tidak ada jawaban lain yang terdaftar yang memperbaiki masalah saya. Saya akhirnya menemukan / menghapus menerapkan sifat Maven untuk setiap proyek dan kesalahan hilang:

Untuk setiap proyek yang memiliki pom dengan kesalahan "resolusi tidak akan dipasang kembali ...":

  1. Klik kanan pada proyek di Eclipse dan pilih Maven -> Disable Maven Nature
  2. Klik kanan pada proyek di Eclipse dan pilih Configure -> Convert to Maven Project
smith.gt
sumber
2

Ini terjadi pada saya juga Anda mungkin memiliki dua solue = tion untuk ini

  1. Jika proyek Anda terdiri dari beberapa ketergantungan eksternal atau spesifik proyek di dalamnya, maka Anda harus menambahkannya secara manual ke folder repo M2 yang terletak di folder repositori C: \ Users \ Mohit.Singh.m2 \ dan kemudian Anda harus menjalankan mvn eclipse: gerhana dan kemudian bersihkan instalasi dari folder proyek

  2. jika Anda tidak memiliki ketergantungan khusus proyek atau sppecific maka Anda dapat mengimpor proyek ke gerhana sebagai proyek pakar yang ada kemudian klik kanan pada proyek -> GO ke pakar -> Klik pada proyek pembaruan jendela akan muncul memeriksa kekuatan unduhan snapshot pilihan dan tekan OK

Mohit Singh
sumber
2

Berikan path maven setting.xml yang benar di eclipse.

  • Windows -> Preferensi -> Maven -> Pengaturan Pengguna

Masukkan jalur setting.xml yang benar di kotak teks pengaturan pengguna

HansiRadhakrishnan
sumber
Tambahkan juga instalasi maven di preferensi maven eclipse
Gunwant
1

hapus saja arketipe di maven local repository. Seperti yang dikatakan di atas, ini terjadi jika unduhan pola dasar gagal .

Pravat Panda
sumber
1

Bagi saya, saya baru saja menambahkan kode di bawah xml dalam file POM.xml. Dan setelah saya men ** klik kanan pada proyek -> Maven -> Update Project dan saya memeriksa Force Update dari Snapshots / Rilis ** dan semuanya berjalan dengan baik

    <dependencies>
        <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/javax.servlet.jsp/jsp-api -->
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.1</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/jstl/jstl -->
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
Lamine BA
sumber
0

settings.xml untuk proxy? dan di gerhana ada profil global \ lokal maven, tambahkan pengaturan.xml

roi
sumber
2
Bisakah Anda mengedit jawaban Anda dan menambahkan lebih detail? Berikan contoh tentang apa yang harus ditambahkan settings.xmldan di mana itu dapat ditemukan. Juga, ingatlah pertanyaan ini berumur 10 bulan.
Brigand
0

Anda dapat menghapus folder .m2 itu sendiri dan memaksa MyEclipse untuk mengunduh ulang semua dependensi saat startup. Pergi ke Window> Preferences> MyEclipse> Maven4MyEclipse.

R Tiwari
sumber
0
  • Terjadi Galat Di Atas karena menghapus 'maven-compiler-plugin 2.0.2' dari repositori maven.
  • Bagi saya, kesalahan di atas teratasi ketika saya menurunkan 'maven-compiler-plugin' ke versi 2.0 atau 2.0.1.
Avinash Pande
sumber
-1

Solusi yang bekerja untuk saya adalah sebagai berikut:

  1. Salin ketergantungan ke pom.

    <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-archiver</artifactId>
        <version>2.5</version>
    </dependency>
  2. Klik kanan pada proyek Anda

  3. Pilih Maven
  4. Pilih Perbarui proyek
  5. Pilih Paksa Perbarui Snapshots / Rilis
Jorge Santos Neill
sumber
-2

Harap Pastikan bahwa file settings.XML di folder .m2 valid terlebih dahulu Kemudian setelah membersihkan repositori menggunakan perintah di bawah ini dalam cmd

cd %userprofile%\.m2\repository
for /r %i in (*.lastUpdated) do del %i
dush88c
sumber