Saya mengimpor proyek saya yang sudah berfungsi di komputer lain dan mulai mengunduh dependensi.
Rupanya koneksi internet saya macet dan sekarang saya mendapatkan yang berikut:
>Build errors for comics; org.apache.maven.lifecycle.LifecycleExecutionException:
Failed to execute goal on project comicsTest: Could not resolve dependencies for project comicsTest:comicsTest:war:0.0.1-SNAPSHOT:
The following artifacts could not be resolved:
org.springframework:spring-context:jar:3.0.5.RELEASE,
org.hibernate:hibernate-entitymanager:jar:3.6.0.Final,
org.hibernate:hibernate-core:jar:3.6.0.Final,
org.hibernate:hibernate-commons-annotations:jar:3.2.0.Final,
org.aspectj:aspectjweaver:jar:1.6.8,
commons-lang:commons-lang:jar:2.5,
>mysql:mysql-connector-java:jar:5.1.13: Failure to transfer org.springframework:spring-context:jar:3.0.5.RELEASE from http://repo1.maven.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.springframework:spring-context:jar:3.0.5.RELEASE from central (http://repo1.maven.org/maven2): No response received after 60000
Bagaimana cara saya memaksa pakar memperbarui?
Jawaban:
-U
berarti memaksa pembaruan ketergantungan snapshot . Ketergantungan rilis tidak dapat diperbarui dengan cara ini.sumber
Jika repositori lokal Anda entah bagaimana dibersihkan untuk stoples rilis yang bukan snapshot (
-U
dan--update-snapshots
hanya perbarui snapshot), Anda dapat membersihkan repo lokal menggunakan yang berikut ini:Anda mungkin ingin membersihkan dan menginstal lagi:
Banyak info lebih lanjut tersedia di https://maven.apache.org/plugins/maven-dependency-plugin/examples/purging-local-repository.html
sumber
mvn dependency:purge-local-repository
, itu hanya mengunduh ulang semua dependensi lagi, yang persis apa yang saya inginkan-U
tampaknya memaksa pembaruan semua dependensi.Jika Anda ingin memperbarui ketergantungan tunggal tanpa membersihkan atau
-U
Anda bisa menghapusnya dari repo lokal Anda dan kemudian membangun.Contoh di bawah ini jika untuk memperbarui
slf4j-api 1.7.1-SNAPSHOT
:sumber
Semua jawaban di sini tidak berhasil untuk saya. Saya menggunakan metode palu:
Itu memperbaiki masalah :-)
sumber
.m2
-direktori bernama*.lastUpdated
find ~/.m2/ -name "*.lastUpdated" -delete
akan dilakukan tanpa bahayaxargs
ataurm
melebihi batas tertentu (jika banyak file ditemukan).Anda dapat melakukannya dengan efektif
Eclipse IDE
. Tentu saja jika Anda menggunakannya.sumber
Hanya dalam kasus seseorang ingin hanya memperbarui dependensi snapshot proyek dan tidak ingin menginstal artefak:
Jangan lupa untuk mengembalikan dependensi di IDE Anda. Di IDEA Anda perlu mengklik kanan pada file pom dan memilih Maven -> Reimport
sumber
Jika Anda tidak yakin apa yang ada di dalam repositori lokal Anda, saya sarankan untuk memecat build dengan opsi:
Dengan begitu Anda akan memastikan untuk membangun di lingkungan kamar bersih.
sumber
Dalam kasus saya yang pertama saya lakukan adalah:
Masih menunjukkan kesalahan yang sama kemudian saya menutup proyek dan kembali membukanya lagi. Akhirnya berhasil.
sumber
Jika Anda menggunakan eclipse IDE, maka:
Tekan alt + F5, jendela untuk Perbarui Maven Project akan muncul.
Periksa - Paksa Perbarui Snapshots / rilis dan klik OK
Jika Menggunakan Intellij IDE
sumber
Saya menggunakan IDE IntelliJ dan saya memiliki masalah yang sama dan untuk menyelesaikannya saya mengklik "Hasilkan Sumber dan Perbarui Folder untuk Semua Proyek" di tab Maven.
sumber
Saya mendapatkan kesalahan dalam konteks lain. Jadi solusi saya mungkin berguna bagi orang lain yang mencari pertanyaan:
Masalahnya: Saya telah menyalin repositori lokal ke komputer lain, yang tidak memiliki koneksi ke repositori khusus. Jadi, pakar mencoba memeriksa artefak terhadap repositori yang tidak valid.
Solusi saya: Hapus file _maven.repositori.
sumber
Ini adalah salah satu hal yang paling menyebalkan tentang Maven. Bagi saya hal berikut terjadi: Jika saya menambahkan dependensi yang meminta lebih banyak dependensi dan semakin banyak tetapi memiliki koneksi yang lambat, sepertinya akan berhenti ketika mengunduh dan menghitung waktu. Sementara waktu keluar semua dependensi yang belum diambil ditandai dengan tempat penampung di .m2 cache dan Maven tidak akan (tidak pernah) mengambilnya kecuali saya menghapus entri tempat penampung dari cache (seperti yang dinyatakan lain) dengan menghapusnya.
Jadi sejauh yang saya lihat, Maven atau lebih tepatnya plugin Eclipse Maven memiliki bug mengenai hal ini. Seseorang harus melaporkan ini.
sumber
Anda perlu memeriksa file settings.xml Anda di bawah
<maven_home>/conf
direktori.sumber
Saya mendapat kesalahan yang sama dengan ketergantungan android-maps-utils. Menggunakan paket tipe aar di bagian dependensi menyelesaikan masalah saya. Secara default tipe ini jar sehingga Mungkin diperiksa jenis dependensi dalam repositori yang diunduh.
sumber
Untuk memperbaiki masalah ini dari Eclipse:
1) Tambahkan ketergantungan di bawah ini di Maven pom.xml dan simpan file pom.xml.
2) Pergi ke proyek >> Maven >> Perbarui Proyek
pilih proyek dan klik OK.
3) Langkah opsional, jika tidak diselesaikan sampai langkah 2 kemudian lakukan langkah di bawah ini setelah melakukan langkah-1
Buka proyek >> Maven >> Perbarui Proyek >> centang di kotak centang 'Paksa Perbarui Snapshots / Rilis'
pilih proyek dan klik OK.
sumber
Versi sebelumnya dari maven tidak memaksa pemeriksaan untuk rilis yang hilang ketika digunakan -U dengan mvn clean install, hanya snapshots, meskipun versi yang lebih baru mendukung ini.
Untuk seseorang yang masih berjuang dengan versi sebelumnya, mengikuti dapat bermanfaat-
Di Windows:
Di Linux:
Setiap kali pakar tidak dapat mengunduh dependensi karena alasan apa pun (konektivitas / tidak ada dll), itu akan menambahkan ".error = Tidak dapat mentransfer artefak" di file dependency-name.lastUpdate di masing-masing folder di bawah direktori $ home / .m2. Menghapus file-file ini akan memaksa pakar untuk mencoba mengambil dependensi lagi.
sumber
Sangat penting untuk menambahkan bahwa perbedaan utama dari menjalankan
mvn
dengan -U dan tanpa -U adalah bahwa-U
akan menimpa guci SNAPSHOT lokal Anda dengan guci SNAPSHOT jarak jauh.Guci SNAPSHOT lokal dibuat dari lokal
mvn install
dalam kasus di mana Anda memiliki modul lain dari proyek Anda yang menghasilkan guci.sumber
-U digunakan untuk memaksa pembaruan maven Repo. Menggunakan
sumber
Saya mencoba semua jawaban di sini tetapi sepertinya tidak ada yang berhasil. Nyalakan kembali komputer saya, lalu jalankan
mvn clean install -U
. Itu memecahkan masalah saya.sumber
Apa yang dilakukan pakar adalah, ia mengunduh semua dependensi proyek Anda ke repo lokal Anda (folder .m2). Karena internet menyebabkan masalah dengan repo lokal Anda, proyek Anda menghadapi masalah. Saya tidak yakin apakah ini pasti akan membantu Anda atau tidak, tetapi Anda dapat mencoba menghapus semua file di dalam folder repositori di dalam folder .m2. Karena tidak akan ada dalam repo lokal, maven akan dipaksa untuk mengunduh dependensi lagi, sehingga memaksa pembaruan. Secara umum, folder .m2 terletak di c: pengguna: [nama pengguna]:. M2
sumber
Saya punya masalah ini karena alasan yang berbeda. Saya pergi ke repositori maven https://mvnrepository.com mencari versi terbaru dari pegas inti, yang pada saat itu adalah 5.0.0.M3 / Repositori menunjukkan entri ini untuk pom.xml saya:
Bodoh naif saya, saya berasumsi bahwa komentar itu mengatakan kepada saya bahwa toples terletak di repositori default.
Namun, setelah banyak head-banging, saya melihat catatan tepat di bawah xml yang mengatakan "Catatan: artefak ini terletak di repositori Publik Alfresco ( https://artifacts.alfresco.com/nexus/content/repositories/public/ ) "
Jadi komentar dalam XML benar-benar menyesatkan. Guci itu terletak di arsip lain, itulah sebabnya Maven tidak bisa menemukannya!
sumber
Kami dapat memaksa untuk mendapatkan pembaruan terbaru dari repositori rilis dan snapshot dengan perintah di bawah ini:
sumber
Saya memiliki kesalahan yang sama dan berjalan
mvn install -U
dan kemudian berjalanmvn install
bekerja untuk saya.sumber
Saya mengalami ini baru-baru ini dan menjalankan yang berikut memperbaiki semua masalah
sumber
-fae,--fail-at-end Only fail the build afterwards; allow all non-impacted builds to continue
Tampaknya ini cara yang aneh untuk memperbaiki dependensi eksternal yang tidak diperbarui ..mvn clean install -U
tidak bekerja Namunmvn -U clean
diikuti olehmvn clean install
tidak.sumber