Bagaimana cara menambahkan ketergantungan Maven di Eclipse?

128

Saya tidak tahu cara menggunakan Maven sama sekali. Saya telah mengembangkan selama beberapa tahun dengan Eclipse dan belum perlu mengetahuinya. Namun, sekarang saya melihat beberapa dokumen yang menyarankan saya melakukan hal berikut:

"Untuk memasukkannya ke dalam proyekmu, tambahkan saja ketergantungan pakar ini ke bangunanmu."

<repository>
   <id>jboss</id>
   <url>http://repository.jboss.org/maven2</url>
</repository>

   ...
<dependency>
   <groupId>org.jboss.resteasy</groupId>
   <artifactId>resteasy-jackson-provider</artifactId>
   <version>1.1.GA</version>
</dependency>

Bagaimana saya melakukan ini dengan proyek Eclipse saya?

Tolong anggap saya tidak tahu apa-apa tentang Maven. Saya baru tahu itu mungkin diinstal di komputer saya dengan mengetik mvnpada baris perintah, tapi itu sejauh pengetahuan saya. Saya akan senang untuk terus mengetahui apa-apa tentang Maven jika ada cara yang setara dan non-Maven untuk mengikuti instruksi ini dengan Eclipse.

Riley Lark
sumber
2
Sudahkah Anda membaca Panduan Awal Maven: maven.apache.org/guides/getting-started/index.html
Dan W
4
Setara non-Maven: Temukan semua perpustakaan yang Anda butuhkan dan tambahkan ke jalur build proyek Anda (direktori lib). "Semua perpustakaan yang Anda butuhkan" = resteasy-jackson-provider-1.1.GA.jar (2.3.0 adalah versi saat ini ...) ditambah semua dependensi. "Semua ketergantungan" adalah apa yang dilakukan Maven untuk Anda (dalam situasi ini). Mencari itu mereka adalah jackson-core-asl, jackson-mapper-asl, jackson-jaxrs, jackson-xc. Belajar sedikit Maven, itu benar-benar sepadan dengan waktu.
Hauke ​​Ingmar Schmidt
Anda akan menemukan informasi lebih lanjut tentang Maven di Maven: Panduan Referensi Lengkap , dan Anda juga harus mempertimbangkan untuk menginstal plugin Eclipse M2E (sebelumnya dikenal sebagai m2eclipse).
matsev

Jawaban:

204
  1. Di bilah menu atas, buka Window -> Show View -> Other
  2. Di jendela Perlihatkan Tampilan, buka Maven -> Maven Repositori

    Show View - Repositori Maven

  3. Di jendela yang muncul, klik kanan pada Global Repository dan pilih Go Into

  4. Klik kanan pada " central ( http://repo.maven.apache.org/maven2 ) " dan pilih " Rebuild Index "

    • Perhatikan bahwa perlu beberapa saat untuk menyelesaikan unduhan
  5. Setelah pengindeksan selesai, klik kanan pada proyek -> Maven -> Tambahkan Ketergantungan dan mulai mengetik nama proyek yang ingin Anda impor (seperti "hibernate").

    • Hasil pencarian akan terisi otomatis dalam kotak "Hasil Pencarian" di bawah.
Oded Breiner
sumber
156
Legenda memilikinya, masih membangun kembali Indeks.
25
Saran: Eclipse (setidaknya versi terbaru per Mei 2016) terkunci dengan sangat baik saat membangun kembali indeks repositori Maven pusat. Dan status telah macet pada "0%" selama lima menit sekarang. Jangan membuat rencana apa pun.
Saustrup
7
Sial, aku rindu<insert-name-of-previously-considered-to-be-worst-package-manager-ever-here>
Mark K Cowan
12
Saya cukup bodoh untuk mencoba dan membuka folder pusat ... jangan lakukan itu ...
Tidak dicintai
15
Catatan: Jika ini bukan proyek Maven. Sebelum langkah 5, Anda harus mengklik kanan proyek -> configure -> convert to Maven project. Kemudian langkah 5 akan berhasil.
cliff2310
26

Bahkan ketika Anda membuka pom.xml, Anda akan melihat 5 tab di bagian bawah. Klik pom.xml, dan Anda bisa mengetikkan dependensi apa pun yang Anda inginkan.

masukkan deskripsi gambar di sini

DoraShine
sumber
membantu saya keluar waktu besar. tidak memperhatikan 5 tab sebelumnya
M. Smith
2
Eclipse masih tidak mengenali dependensi dari pom.xml saya dalam kode saya. Ketika saya menggunakan IntelliJ itu secara otomatis mengunduh mereka dan mengaturnya untuk penyelesaian kode, bukankah gerhana melakukan ini?
Cas Eliëns
Jika Anda sudah mengetahui detail ketergantungan Anda (id grup, artefak id, versi), maka ini jauh lebih cepat daripada mengunduh Internet hanya untuk dimasukkan ke my-favorite-library.jardalam proyek Anda.
Christopher Schultz
10

Anda harus menggunakan plugin Maven untuk Eclipse untuk melakukan ini dengan benar. The M2E plugin dibangun ke versi terbaru dari Eclipse, dan melakukan layak jika tidak pekerjaan yang sempurna mengintegrasikan Maven ke dalam IDE. Anda akan ingin membuat proyek Anda sebagai 'Proyek Maven'. Atau Anda dapat mengimpor POM Maven yang ada ke ruang kerja Anda untuk secara otomatis membuat proyek. Setelah Anda memiliki proyek Maven di IDE, cukup buka POM dan tambahkan ketergantungan Anda padanya.

Sekarang, jika Anda tidak memiliki plugin Maven untuk Eclipse, Anda perlu mendapatkan jar untuk dependensi yang dimaksud dan menambahkannya secara manual sebagai referensi classpath untuk proyek Anda. Ini bisa menjadi tidak menyenangkan karena Anda akan membutuhkan tidak hanya JAR tingkat atas, tetapi semua ketergantungannya juga.

Pada dasarnya, saya sarankan Anda mendapatkan plugin Maven yang layak untuk Eclipse dan membiarkannya menangani manajemen dependensi untuk Anda.

Persepsi
sumber
2
Terima kasih atas jawabannya. Saya sudah memiliki proyek dengan 1000 file di dalamnya - apakah ada cara untuk menambahkan dukungan pakar, bukannya mulai dari awal? Saya memiliki versi terbaru Eclipse
Riley Lark
3
Dengan versi terbaru Eclipse dan m2e Anda dapat mengklik kanan pada proyek Java biasa dan mengaktifkan Manajemen Ketergantungan untuk itu. Ini akan menghasilkan pom.xml untuk proyek, sambil membiarkan strukturnya tetap utuh.
Persepsi
7

Buka file pom.xml.

di bawah projecttag tambahkan <dependencies>sebagai tag lain, dan google untuk dependensi Maven. Saya menggunakan ini untuk mencari.

Jadi setelah mendapatkan ketergantungan buat tag lain dependencydi dalam <dependencies>tag.

Jadi pada akhirnya akan terlihat seperti ini.

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>doc-examples</groupId>
  <artifactId>lambda-java-example</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>lambda-java-example</name>
  <dependencies>
      <!-- https://mvnrepository.com/artifact/com.amazonaws/aws-lambda-java-core -->
    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-lambda-java-core</artifactId>
        <version>1.0.0</version>
    </dependency>
  </dependencies>
</project>

Semoga ini bisa membantu.

driftking9987
sumber
2

Saya telah menghadapi masalah serupa dan diperbaiki dengan menyalin file Jar yang hilang ke .M2 Path,

Misalnya: jika Anda melihat pesan kesalahan Missing artifact tws:axis-client:jar:8.7maka Anda harus mengunduh file "axis-client-8.7.jar" dan menempel yang sama ke lokasi di bawah ini akan menyelesaikan masalah.

C: \ Users \ UsernameXXX.m2 \ repository \ tws \ axis-client \ 8.7 (Tempel axis-client-8.7.jar).

akhirnya, klik kanan pada project-> Maven-> Update Project ... Itu saja.

selamat coding

VELUSAMY NARAYANASAMY
sumber
Terima kasih! Ini bukan masalah spesifik saya tetapi membantu saya menyelesaikannya. Dalam kasus saya, toples saya berada di lokasi yang benar tetapi jalannya sedikit salah.
Kapten Fantastic
-1

Saya telah menghadapi masalah yang sama dengan dependensi maven, misalnya: sayangnya dependensi maven Anda dihapus dari buildpath Anda, maka Anda orang mendapatkan banyak pengecualian, jika Anda mengikuti proses di bawah ini Anda dapat dengan mudah menyelesaikan masalah ini.

 Klik kanan pada proyek >> maven >> updateProject >> selectProject >> OK

Vinay K
sumber