Jika Anda memiliki file jar bernama myJar.jar
terletak di / folder saya dan Anda ingin menggunakan kelas yang dipanggil myClass
, bagaimana Anda melakukannya dari baris perintah?
Saya pikir akan masuk ke direktori dan mengatakan java -cp myJar.jar.myClass
tetapi itu tidak berhasil. Bantuan apa pun akan dihargai.
java
command-line
jar
Jim
sumber
sumber
java -cp myJar.jar myClass
berfungsi dengan baik untuk saya - apakah Anda memiliki periode palsu di baris perintah Anda, bukan spasi?Jawaban:
Gunakan
java -cp myjar.jar com.mypackage.myClass
.Jika kelas tidak dalam satu paket maka cukup
java -cp myjar.jar myClass
.Jika Anda tidak berada dalam direktori di mana
myJar.jar
berada, maka Anda dapat melakukan:Pada platform Unix atau Linux:
java -cp /location_of_jar/myjar.jar com.mypackage.myClass
Di Windows:
java -cp c:\location_of_jar\myjar.jar com.mypackage.myClass
sumber
Kamu ingin:
The Dokumentasi memberikan contoh berikut:
sumber
Ada dua jenis file JAR yang tersedia di Jawa:
File jar Runnable / Executable yang berisi file manifes. Untuk menjalankan jar Runnable Anda dapat menggunakan
java -jar fileName.jar
ataujava -jar -classpath abc.jar fileName.jar
File jar sederhana yang tidak mengandung file manifes sehingga Anda cukup menjalankan kelas utama Anda dengan memberikan path-nya
java -cp ./fileName.jar MainClass
sumber
Dengan asumsi Anda berada di direktori di mana
myJar.jar
file itu dan yangmyClass
memilikipublic static void main()
metode di dalamnya:Anda menggunakan baris perintah berikut:
Dimana:
myJar.jar
ada di jalur saat ini , perhatikan bahwa.
tidak ada di jalur saat ini di sebagian besar sistem. Jalur yang sepenuhnya memenuhi syarat lebih disukai di sini juga.myClass
adalah jalur paket yang sepenuhnya memenuhi syarat untuk kelas, contoh ini mengasumsikan bahwamyClass
ada dalam paket default yang merupakan praktik yang buruk, jika itu dalam paket bersarang itu akan menjadicom.mycompany.mycode.myClass
.sumber
Ini adalah cara yang tepat untuk mengeksekusi
.jar
, dan apa pun yang.jar
harus dimiliki oleh satu kelasmain()
dan berikut ini adalah parameter untuknya:sumber