Rumah >Java >javaTutorial >Bagaimana untuk Melaksanakan Fail JAR dengan Ketergantungan Tambahan: -jar vs. -cp?
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:
<code class="xml"><manifestclasspath property="myprogram.manifest.classpath" jarfile="MyProgram.jar"> <classpath> <fileset dir="libs" includes="*.jar" /> </classpath> </manifestclasspath></code>
<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>
Dengan menyatakan laluan kelas dalam manifes , java -jar MyProgram.jar akan memasukkan semua kebergantungan.
java -cp 'MyProgram.jar:libs/*' main.Main
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!