หากคุณมีไฟล์ jar ชื่อmyJar.jar
อยู่ใน/ myfolderและคุณต้องการใช้คลาสที่เรียกmyClass
จากนั้นคุณจะทำอย่างไรจากบรรทัดคำสั่ง
ฉันคิดว่ามันจะเป็นการเข้าไปในไดเรกทอรีและพูดjava -cp myJar.jar.myClass
แต่นั่นไม่ทำงาน ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม
หากคุณมีไฟล์ jar ชื่อmyJar.jar
อยู่ใน/ myfolderและคุณต้องการใช้คลาสที่เรียกmyClass
จากนั้นคุณจะทำอย่างไรจากบรรทัดคำสั่ง
ฉันคิดว่ามันจะเป็นการเข้าไปในไดเรกทอรีและพูดjava -cp myJar.jar.myClass
แต่นั่นไม่ทำงาน ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม
คำตอบ:
java -cp myjar.jar com.mypackage.myClass
ใช้
java -cp myjar.jar myClass
ถ้าชั้นไม่ได้อยู่ในแพคเกจแล้วก็
หากคุณไม่ได้อยู่ในไดเรกทอรีที่myJar.jar
ตั้งอยู่คุณสามารถทำได้:
บนแพลตฟอร์ม Unix หรือ Linux:
java -cp /location_of_jar/myjar.jar com.mypackage.myClass
บน Windows:
java -cp c:\location_of_jar\myjar.jar com.mypackage.myClass
คุณต้องการ:
java -cp myJar.jar myClass
เอกสารให้ตัวอย่างต่อไปนี้:
C:> java -classpath C:\java\MyClasses\myclasses.jar utility.myapp.Cool
มีไฟล์ JAR สองประเภทใน Java:
ไฟล์ jar ที่รันได้ / เรียกใช้ซึ่งมีไฟล์รายการ ในการเรียกใช้ Jar Runnable คุณสามารถใช้java -jar fileName.jar
หรือjava -jar -classpath abc.jar fileName.jar
ไฟล์ jar แบบง่ายที่ไม่มีไฟล์รายการดังนั้นคุณสามารถรันคลาสหลักของคุณโดยกำหนดพา ธ java -cp ./fileName.jar MainClass
สมมติว่าคุณอยู่ในไดเรกทอรีที่myJar.jar
ไฟล์อยู่และmyClass
มีpublic static void main()
วิธีการ:
คุณใช้บรรทัดคำสั่งต่อไปนี้:
java -cp ./myJar.jar myClass
ที่ไหน:
myJar.jar
อยู่ในเส้นทางปัจจุบันโปรดทราบว่าไม่ได้.
อยู่ในเส้นทางปัจจุบันในระบบส่วนใหญ่ เส้นทางครบถ้วนเป็นที่ต้องการที่นี่เช่นกัน
myClass
เป็นเส้นทางแพคเกจที่มีคุณสมบัติครบถ้วนในชั้นเรียน, ตัวอย่างเช่นสมมติว่าmyClass
อยู่ในแพคเกจเริ่มต้นcom.mycompany.mycode.myClass
ซึ่งเป็นวิธีปฏิบัติที่ไม่ดีถ้ามันอยู่ในแพคเกจที่ซ้อนกันมันจะเป็น
นี่เป็นวิธีที่ถูกต้องในการรัน a .jar
และสิ่งใดก็ตามที่มีหนึ่งคลาสในที่.jar
ควรมีmain()
และพารามิเตอร์ต่อไปนี้:
java -DLB="uk" -DType="CLIENT_IND" -jar com.fbi.rrm.rrm-batchy-1.5.jar
java -cp myJar.jar myClass
ทำงานได้ดีสำหรับฉัน - คุณมีช่วงเวลาที่น่าเกรงขามในบรรทัดคำสั่งของคุณแทนที่จะเว้นวรรคหรือไม่?