Rumah > Java > javaTutorial > teks badan

Bagaimana Saya Menjalankan JAR dengan Pilihan Laluan Kelas Tambahan: -cp vs. -jar Dijelaskan?

DDD
Lepaskan: 2024-11-05 14:38:02
asal
307 orang telah melayarinya

How Do I Run a JAR with Additional Classpath Options: -cp vs. -jar Explained?

Menjalankan JAR dengan Pilihan Classpath Tambahan: Memahami Dilema "-cp" vs. "-jar"

Apabila melaksanakan fail JAR , pembangun mungkin memerlukan akses kepada perpustakaan atau kelas tambahan selain daripada yang disertakan dalam JAR itu sendiri. Untuk menangani perkara ini, Java menawarkan dua pilihan: menggunakan bendera baris arahan -cp (classpath) atau -jar.

-cp vs. -jar: Kes Pengecualian Bersama

Adalah penting untuk ambil perhatian bahawa -cp dan -jar mempunyai tujuan yang berbeza dan tidak boleh digabungkan. Bendera -jar menentukan fail JAR untuk dilaksanakan, manakala -cp mentakrifkan laluan kelas yang digunakan untuk mencari kelas tambahan dan kebergantungan.

Pilihan -jar:

Jika kebergantungan yang diperlukan dirangkumkan dalam fail JAR, atau jika ia boleh diambil dari laluan kelas, menggunakan bendera -jar sahaja sudah memadai. Mesin Maya Java (JVM) akan memuatkan kelas secara automatik daripada JAR dan laluan kelas, seperti yang dinyatakan dalam fail manifes JAR.

Pilihan -cp:

Apabila kebergantungan luaran tidak disertakan dalam JAR atau tidak ditemui pada classpath, pilihan -cp mesti digunakan. Ia membenarkan pembangun mentakrifkan laluan kelas secara eksplisit, termasuk JAR utama dan sebarang JAR atau direktori tambahan yang diperlukan yang mengandungi fail kelas. Sintaks berikut menunjukkan perkara ini:

java -cp 'MyProgram.jar:libs/*' main.Main
Salin selepas log masuk

Dalam contoh ini, MyProgram.jar menentukan JAR utama, libs/* (menggunakan sintaks dir/*) menambah semua JAR daripada subdirektori libs ke classpath dan main.Main menunjukkan titik masuk (kelas utama) program.

Alternatif: Mengubah suai Fail Manifes JAR

Sebagai alternatif, tugas boleh digunakan untuk mengautomasikan proses menambah kebergantungan luaran pada laluan kelas. Dengan mengkonfigurasi tugas sebelum membina JAR, pembangun boleh memastikan bahawa fail manifes mengandungi maklumat laluan kelas yang diperlukan. Ini menghapuskan keperluan untuk spesifikasi eksplisit menggunakan bendera -cp.

Dengan memahami perbezaan dan kes penggunaan -cp dan -jar, pembangun boleh melaksanakan fail JAR dengan berkesan yang memerlukan kebergantungan laluan kelas tambahan, memastikan kelancaran dan ralat- pelaksanaan percuma.

Atas ialah kandungan terperinci Bagaimana Saya Menjalankan JAR dengan Pilihan Laluan Kelas Tambahan: -cp vs. -jar Dijelaskan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan