Bagaimana cara membuat toples dengan pustaka eksternal yang termasuk dalam Eclipse?

89

Saya selesai dengan proyek yang terhubung ke database (MySQL). Sekarang saya ingin mengekspor proyek sebagai jar. Tapi saya tidak tahu bagaimana memasukkan dependensi eksternalnya? Apakah ada cara untuk melakukannya di Eclipse atau haruskah saya menggunakan skrip untuk itu ?.

Ghanta Sairam
sumber
Bagaimana Anda ingin mengirimkan aplikasi. kepada pengguna akhir? Jaringan / internet, disk atau flash drive, .. ada hal lain? Apakah aplikasinya. punya GUI?
Andrew Thompson

Jawaban:

140

Saat Anda mengekspor proyek Anda sebagai 'jar yang dapat dijalankan' (mouse kanan pada proyek -> ekspor -> jar yang dapat dijalankan) Anda memiliki opsi untuk mengemas semua dependensi ke dalam jar yang dihasilkan. Ini juga memiliki dua cara lain (lihat tangkapan layar) untuk mengekspor perpustakaan Anda, perhatikan lisensinya saat memutuskan metode pengemasan mana yang akan Anda gunakan.

Pustaka paket

Dropdown 'konfigurasi peluncuran' diisi dengan kelas yang berisi main(String[]) metode. Kelas yang dipilih dimulai saat Anda 'menjalankan' jar.

Mengekspor sebagai jar yang dapat dijalankan menggunakan dependensi pada jalur build Anda (Mouse kanan pada proyek -> Build Path -> Configure Build Path ...). Saat Anda mengekspor sebagai jar 'biasa' (tidak dapat dijalankan), Anda dapat memilih file apa pun dalam proyek Anda. Jika Anda memiliki pustaka di folder proyek Anda, Anda bisa menyertakannya tetapi dependensi eksternal, misalnya, tidak dapat disertakan (untuk proyek maven, cari di sini ).

Joost
sumber
2
@Joost: Pak, saya tidak mendapatkan opsi apa pun di bawah judul konfigurasi peluncuran saat mencoba mengekspor aplikasi java sebagai jar yang dapat dijalankan. Apa yang salah atau hilang?
Rat-a-tat-a-tat Ratatouille
Eclipse mencantumkan main()metode yang diketahuinya. Coba jalankan aplikasi Anda sekali (Proyek klik kanan, Jalankan Sebagai, Aplikasi Java) dan kemudian ekspor lagi.
Joost
Itu tidak relevan untuk pertanyaan ini, karena Eclipse dinyatakan dengan jelas. Silakan posting pertanyaan baru jika Anda tidak dapat menemukan jawaban (yang pasti sudah ada di suatu tempat di situs ini)
Joost
1
Adakah yang tahu bagaimana melakukan ini untuk toples yang tidak dapat dijalankan di gerhana? Tidak ada opsi yang terkait dengan 'perpustakaan yang diperlukan'.
jb1
@ jb1 Apakah Anda pernah memikirkan hal ini?
TheKingElessar
9

Anda bisa menggunakan Export-> Java-> Runnable Jar untuk membuat jar yang menyertakan dependensinya

Sebagai alternatif, Anda dapat menggunakan plugin gerhana fatjar juga untuk menggabungkan stoples

Attila
sumber
5

Anda dapat mengklik kanan pada proyek, klik ekspor, ketik 'jar', pilih 'Runnable JAR File Export'. Di sana Anda memiliki opsi 'Ekstrak pustaka yang diperlukan ke dalam JAR yang dihasilkan'.

maerch
sumber
3

Sendiri,

Tidak ada jawaban di atas yang berhasil untuk saya, saya masih terus mendapatkan kesalahan NoClassDefFound (saya menggunakan Maven untuk dependensi). Solusi saya adalah membangun menggunakan "mvn clean install" dan menggunakan "[project] -jar-with-dependencies.jar" yang dibuat oleh perintah tersebut. Demikian pula di Eclipse Anda dapat mengklik kanan proyek -> Run As -> Maven Install dan itu akan menempatkan stoples di folder target.

SMKS
sumber
2

Jika Anda ingin mengekspor semua file JAR dari proyek web Java, buka file WAR terbaru dengan alat ZIP (mis. 7-Zip), navigasikan ke folder / WEB-INF / lib /. Di sini Anda akan menemukan semua file JAR yang Anda perlukan untuk proyek ini (seperti yang tercantum di "Perpustakaan yang Dirujuk").

Peter Saitz
sumber
0

Saat mengekspor sumber Anda ke dalam toples, pastikan Anda memilih opsi jar yang dapat dijalankan dari opsi. Kemudian pilih apakah Anda ingin mengemas semua toples dependensi atau hanya memasukkannya langsung ke dalam file jar. Itu tergantung pada proyek yang sedang Anda kerjakan.

Anda kemudian menjalankan jar secara langsung dengan java -jar example.jar.

Charan Raj
sumber
0

Untuk menghasilkan file jar di eclipse klik kanan pada proyek yang ingin Anda buat, Pilih Export> Java> Runnable Jar File,

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Ini membuat jar yang mencakup semua dependensi dari Pom.xml, Tapi tolong pastikan masalah lisensi jika Anda menggunakan ketergantungan pihak ketiga untuk aplikasi Anda.

Rohit
sumber
0

Jika itu adalah proyek java mandiri (metode Utama) maka Tidak ada jalur khusus yang meletakkan semua guci di dalam proyek bukan jalur tertentu lalu klik kanan pada proyek -> ekspor -> jar Runnable -> Pilih konfigurasi makan siang dan penanganan Perpustakaan lalu pilih opsi tombol radio "Paket perpustakaan yang diperlukan ke dalam jar yang dihasilkan" -> Selesai.

Atau

Jika Anda memiliki proyek web, letakkan semua toples di folder web-inf / lib dan lakukan langkah yang sama.

JitenS
sumber