Rumah > Java > javaTutorial > Bagaimana untuk Melaksanakan Fail JAR dengan Ketergantungan Tambahan: -jar vs. -cp?

Bagaimana untuk Melaksanakan Fail JAR dengan Ketergantungan Tambahan: -jar vs. -cp?

Mary-Kate Olsen
Lepaskan: 2024-11-08 03:04:02
asal
1096 orang telah melayarinya

How to Execute a JAR File with Additional Dependencies: -jar vs. -cp?

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

Di Java, terdapat dua cara untuk melaksanakan fail JAR: menggunakan pilihan -jar atau menentukan classpath dengan -cp. Walau bagaimanapun, percubaan untuk menggabungkan kedua-dua pilihan membawa kepada ralat.

Apabila menggunakan -jar, Mesin Maya Java (JVM) menganggap bahawa fail JAR mengandungi semua kebergantungan yang diperlukan. Oleh itu, menentukan laluan kelas tambahan dengan -cp tidak disyorkan.

Sebaliknya, terdapat dua pendekatan alternatif:

Pendekatan 1: Tambah JAR pada Manifes Utama

  1. Salin fail JAR yang diperlukan ke subfolder, seperti "libs".
  2. Gunakan tugasan dalam Ant sebelum membina JAR:
<code class="xml"><manifestclasspath property="myprogram.manifest.classpath" jarfile="MyProgram.jar">
  <classpath>
    <fileset dir="libs" includes="*.jar" />
  </classpath>
</manifestclasspath></code>
Salin selepas log masuk
  1. Buat JAR dengan manifes yang dikemas kini:
<code class="xml"><jar destfile="MyProgram.jar" basedir="classes">
  <manifest>
    <attribute name="Main-Class" value="main.Main" />
    <attribute name="Class-Path" value="${myprogram.manifest.classpath}" />
  </manifest>
</jar></code>
Salin selepas log masuk

Dengan menyatakan laluan kelas dalam manifes , java -jar MyProgram.jar akan memasukkan semua kebergantungan.

Pendekatan 2: Tentukan Classpath dengan -cp

  1. Sertakan semua fail JAR yang diperlukan dalam classpath:
java -cp 'MyProgram.jar:libs/*' main.Main
Salin selepas log masuk

Menggunakan sintaks * berkembang untuk memasukkan semua fail JAR dalam direktori "libs".

Ingat, adalah penting untuk memilih sama ada pendekatan -jar atau -cp. Menggabungkan kedua-duanya boleh menyebabkan konflik dan ralat laluan kelas.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Fail JAR dengan Ketergantungan Tambahan: -jar vs. -cp?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan