หากคุณมีไฟล์ 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ทำงานได้ดีสำหรับฉัน - คุณมีช่วงเวลาที่น่าเกรงขามในบรรทัดคำสั่งของคุณแทนที่จะเว้นวรรคหรือไม่?