Java Eclipse: Perbedaan antara mengekspor sebagai JAR dan mengekspor sebagai JAR yang Dapat Dijalankan


88

Apa perbedaan dalam gerhana antara mengekspor sebagai file JAR dan mengekspor sebagai file JAR yang dapat dijalankan? Bukankah mereka berdua bisa dijalankan? Apa pro / kontra masing-masing?

Jawaban:


99

Jar yang dapat dijalankan berisi file MANIFEST.MF, yang mendefinisikan kelas Utama yang akan dieksekusi saat jar dijalankan.

Jars yang tidak dapat dijalankan hanyalah pustaka kelas, yang dapat ditambahkan ke jalur kelas sehingga kode digunakan kembali (juga berisi file manifes, tetapi tidak ada kelas utama di sana)


Ketika kita mengekspor file hanya sebagai jar dan bukan jar runnable, kita harus menentukan kelas utama dan pustaka classpath di manifest.mf.
MR DAN

20

Jar yang dapat dijalankan adalah file jar yang memiliki file Manifes tertanam yang menyertakan deklarasi "Kelas-Utama:". "Main-Class" harus didefinisikan sehingga runtime java tahu kelas mana yang harus dipanggil saat jar "dijalankan". Jika jar tidak menyertakan manifes dengan "Main-Class:" itu tidak dianggap sebagai "jar runnable" - itu hanya perpustakaan kode Java.

Saya rasa inilah perbedaan dalam cara Eclipse mengekspor toples, tetapi tidak 100% yakin.

Lihat tautan ini untuk info lebih lanjut: http://www.skylit.com/javamethods/faqs/createjar.html


17

Dengan file JAR standar, Anda harus menentukan kelas dengan metode utama pada baris perintah saat menjalankan jar. Dengan JAR yang dapat dijalankan, ada file manifes yang akan menyimpan informasi itu sehingga Anda bisa mengetik java -jar myRunnable.jar, atau cukup klik dua kali.


0

Dalam kasus saya, saya biasa mengekspor sebagai jar ketika saya memiliki semua kelas utama dan semua direktori jalur perpustakaan yang ditentukan di manifest.mf. Jika banyak aplikasi menggunakan pustaka yang sama, tidak perlu mengekspor pustaka bersama untuk setiap jar. Itu membuat stoples lebih cepat. Namun, sering kali karena masalah konfigurasi di jalur kelas server yang berbeda tidak dapat mengakses pustaka dan dalam hal ini masuk akal untuk mengekspor jar yang dapat dijalankan yang membuat file lambat untuk dieksekusi dan besar.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.