Rumah >Java >javaTutorial >Bagaimana untuk Melaksanakan Fail JAR dengan Pilihan Classpath Tambahan?

Bagaimana untuk Melaksanakan Fail JAR dengan Pilihan Classpath Tambahan?

DDD
DDDasal
2024-11-03 22:22:021075semak imbas

How to Execute a JAR File with Additional Classpath Options?

Memanggil "java -jar MyFile.jar" dengan Pilihan Classpath Tambahan

Apabila melaksanakan fail JAR dengan arahan "java -jar MyFile.jar", ia adalah penting untuk memahami keperluan laluan kelas. Pilihan "-jar" menandakan bahawa fail JAR mengandungi kelas utama yang akan dilaksanakan, manakala "-cp" digunakan untuk menentukan laluan kelas tambahan.

Dalam senario yang diberikan, ralat yang dihadapi mungkin disebabkan oleh gabungan pilihan "-jar" dan "-cp". Seperti yang dijelaskan oleh jawapan, pilihan ini adalah saling eksklusif. Menggunakan kedua-dua pilihan secara serentak menghasilkan perintah samar-samar yang tidak dapat ditafsirkan oleh Java.

Untuk menyelesaikan isu tersebut, pengguna mempunyai dua pilihan:

  • Pilihan 1: Gunakan Atribut Laluan Kelas Manifest:

    Dalam pendekatan ini, manifes fail JAR termasuk atribut "Laluan Kelas", yang menentukan JAR yang diperlukan pada laluan kelas. Ini menghapuskan keperluan untuk pilihan "-cp".

  • Pilihan 2: Tentukan Laluan Kelas Penuh dengan "-cp":

    Untuk pilihan ini, arahannya ialah "java -cp 'MyProgram.jar:libs/*' main.Main". Di sini, "-cp" menentukan laluan kelas penuh, termasuk JAR utama dan kebergantungannya, manakala penamaan eksplisit kelas "main.Main" memastikan ia berjalan sebagai titik masuk.

Sebagai alternatif, Semut boleh dimanfaatkan. Untuk "pendekatan nyata", "" tugas menambah kebergantungan pada manifes sebelum mencipta JAR.

Sebaliknya, untuk "pendekatan laluan kelas", laluan kelas penuh ditentukan menggunakan pilihan "-cp" bersama-sama dengan fail JAR dan penamaan eksplisit daripada kelas utama. Kaedah ini sesuai jika persekitaran sasaran tidak akan mengenali atribut "Class-Path" manifes.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Fail JAR dengan Pilihan Classpath Tambahan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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