ฉันจะเรียกใช้งานไฟล์. jar จากเทอร์มินัลได้อย่างไร


123

ฉันรู้ว่าในการดำเนินการไฟล์ฉันใช้.คำสั่งแล้วชื่อไฟล์ที่มีช่องว่างระหว่างพวกเขา แต่ฉันพยายามรันไฟล์. jar โดยใช้.และมันไม่ทำงาน ฉันเข้าสู่คุณสมบัติและทำเครื่องหมายว่าสามารถเรียกใช้งานได้และทำให้มันรันด้วย Java

มีวิธีการรันไฟล์ด้วย Java ในBash Terminal หรือไม่? ฉันพยายามเรียกใช้ไฟล์ Minecraft.jar

ฉันพยายามเรียกใช้ไฟล์ Minecraft.jar


4
สวัสดีและยินดีต้อนรับ jaorizabal ฉันแก้ไขคำถามของคุณเล็กน้อย บางทีคุณอาจติดตั้งเครื่องตรวจการสะกดคำสำหรับเบราว์เซอร์ของคุณเพื่อปรับปรุงคำถามต่อไปด้วยตัวคุณเอง คำแนะนำอื่น: สำหรับปัญหาเกี่ยวกับข้อความคุณสามารถทำเครื่องหมายข้อความด้วยเมาส์ในเทอร์มินัลแล้ววางลงในฟิลด์แก้ไขของเบราว์เซอร์ (และที่อื่น ๆ ) ด้วยการคลิกกลางบนล้อเลื่อน จากนั้นคุณสามารถจัดวางโค้ดของคุณด้วยปุ่มต่างๆที่ช่องแก้ไข สิ่งนี้เร็วกว่าการถ่ายภาพหน้าจอและอัปโหลด
ผู้ใช้ที่ไม่รู้จัก

คำตอบ:


199

.ไวยากรณ์เท่านั้นที่สามารถใช้ในการทำงาน (โดย "จัดหา") เชลล์สคริปต์

คุณจะต้องใช้javaคำสั่งเพื่อเรียกใช้.jarไฟล์:

java -jar Minecraft.jar

หากคุณไม่ได้ติดตั้งจาวาคุณสามารถแก้ไขได้โดยติดตั้งdefault-jreแพ็คเกจ. คุณสามารถดูว่าคุณได้ติดตั้งจาวาไว้แล้วหรือยังโดยเรียกใช้ในเทอร์มินัล:

java -version 

[1]: นี่จะเป็นการติดตั้งค่าเริ่มต้นรันไทม์ของ openjdk Java คุณสามารถใช้openjdk-8-jreหรือopenjdk-7-jreหรือopenjdk-6-jreแทนก็ได้หากต้องการ - แล้วแต่ว่าจะใช้เวอร์ชันใดของ Ubuntu


$ java -jar schemaSpy_5.0.0.jar *** Required parameter '-o' was not specified. ***
Karthik T

31

ลีนุกซ์สามารถใช้งานไบนารีต่างประเทศได้อย่างสมบูรณ์แบบเช่นไฟล์ JAR นี่คือวิธีการทำงานของไวน์ตัวอย่างเช่น ในการเรียกใช้ไฟล์ JAR ในฐานะที่ปฏิบัติการได้ให้ทำดังต่อไปนี้ในคอนโซล

sudo apt-get install binfmt-support

Cd เป็นไฟล์ JAR ของคุณและเปลี่ยนเป็นปฏิบัติการได้ (คุณสามารถทำได้ผ่านคุณสมบัติของไฟล์ใน Nautilus)

chmod a+rx myjar.jar

รันไฟล์ jar ของคุณราวกับว่าเป็นไฟล์ไบนารีหรือเชลล์สคริปต์

./myjar.jar

หมายเหตุ: ตรวจสอบให้แน่ใจว่าคุณโหลดโมดูลเคอร์เนลbinfmt_miscแล้ว หากคุณใช้เคอร์เนลที่คอมไพล์แล้วโดยไม่มีโมดูลนี้การสนับสนุน binfmt จะไม่ทำงาน


1
ขอบคุณ! นี่คือสิ่งที่ฉันกำลังมองหา มันดีกว่าการใช้ java -jar เพราะไม่ต้องการให้โฮสต์โปรแกรมรู้ว่ามันเป็นโปรแกรม java และดีกว่าการใช้สคริปต์เพราะคุณไม่ต้องกังวลกับการผ่าน STDIN และ OUT
srlm

2
ไม่ทำงานบน Debian 9: "ไฟล์ที่ไม่ถูกต้อง (หมายเลขเวทย์มนตร์ที่ไม่ดี): ข้อผิดพลาดของรูปแบบ Exec"
พอล

16

หากเป็น jar ที่ปฏิบัติการได้แล้ว

java -jar Minecraft.jar 

ไม่ใช่ jar-archives ทั้งหมดที่มีคลาสที่สามารถเรียกทำงานได้ซึ่งประกาศว่าจะเริ่มต้นในไฟล์ Manifest แต่ถ้ามีจะมีวิธีนี้ใช้งานได้

Btw: คุณไม่ได้เริ่มโปรแกรมส่วนใหญ่จากเชลล์ด้วยจุด จุดเป็นทางลัดสำหรับsourceและใช้งานได้เฉพาะใน bash และ shell อื่น ๆ เพื่อรวมสคริปต์ในขอบเขตของเซสชันปัจจุบัน

ไบนารี xybin ที่คอมไพล์แล้วเริ่มต้นด้วยชื่อถ้ามันอยู่ในพา ธ :

xybin 

หรือด้วยพา ธ สัมบูรณ์:

/home/foo/proj/test/xybin

หรือกับเส้นทางญาติ:

proj/test/xybin

หรือถ้าคุณบังเอิญอยู่ในไดเรกทอรีของไฟล์โดยใช้พา ธ สัมพัทธ์:

./xybin

ไฟล์จะต้องมีการทำเครื่องหมายว่าสามารถใช้งานได้สำหรับคุณ (ดู: chmod) ทั้งหมดข้างต้นเป็นจริงสำหรับ shellscripts ด้วย แต่พวกเขามักจะมีนามสกุล. sh และคุณสามารถเริ่ม shellscript โดยเรียกล่ามแล้วมันไม่จำเป็นต้องทำเครื่องหมายปฏิบัติการ:

 bash xy.sh

หากคุณไม่ต้องการที่จะเริ่มทุบตีใหม่คุณสามารถใช้แหล่งที่มาและคุณทำเช่นนั้นเพื่อใช้นิยามฟังก์ชั่นนามแฝงและการตั้งค่าตัวแปร


7

คุณอาจต้องการทำรายการที่ดีสำหรับแอปพลิเคชันใน Unity รันคำสั่งต่อไปนี้:

gedit ~/.local/share/applications/minecraft.desktop

ในหน้าต่างที่ปรากฏขึ้นให้คัดลอกและวางต่อไปนี้:

[Desktop Entry]
Type=Application
Name=Minecraft
Comment=Click here to play Minecraft
Exec=java -jar /path/to/minecraft.jar
Icon=/path/to/minecraft/icon.png
Terminal=false
Categories=Game;

คุณอาจต้องออกจากระบบและกลับเข้ามาใหม่เพื่อดูผลกระทบ :) นอกจากนี้คุณต้องค้นหาอินเทอร์เน็ตเพื่อหาไอคอน Minecraft ที่ดูดีเพราะพวกมันไม่ได้ให้ดาวน์โหลด


4
  1. เปิดพรอมต์คำสั่งด้วยCTRL+ ALT+T
  2. ไปที่ไดเรกทอรีไฟล์ ".jar" ของคุณ หากเวอร์ชัน / รสอูบุนตูของคุณรองรับคุณควรคลิกขวาที่ไดเรกทอรีของไฟล์ ".jar" แล้วคลิก "Open in Terminal"
  3. พิมพ์คำสั่งต่อไปนี้:

    java -jar jarfilename.jar

วิธีนี้ไฟล์ ".jar" ของคุณจะทำงาน


4

ติดตั้ง jarwrapper หลังจากนั้น (และโดยการเพิ่มบิตเรียกทำงาน) คุณสามารถเริ่มต้นไฟล์ jar เพียงแค่ป้อนชื่อ jarfile

sudo apt-get install jarwrapper

สิ่งนี้ทำงานโดยใช้binfmtเพื่อเพิ่มการสนับสนุนสำหรับรูปแบบไบนารีใหม่ให้กับเคอร์เนล



-1

หากคุณต้องการติดตั้ง jar ของคุณด้วยจาวาเวอร์ชันเฉพาะเจาะจงระบุไดเรกทอรี java ด้วย

/scratch/app/product/Software/jdk1.8.0_112/bin/java -jar /path-to-jar/Minecraft.jar
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.