วิธีการทำให้ไฟล์จาวา jar เป็นไฟล์เดียวที่ปฏิบัติการได้?


1

ฉันมีไฟล์ jar พร้อมคลาสหลักอยู่ คลาสหลักถูกกำหนดค่าไว้แล้วในไฟล์รายการซึ่งหมายความว่า jar สามารถดำเนินการได้ด้วยวิธีต่อไปนี้

java -jar Main.jar

ฉันต้องการให้สามารถเรียกใช้งานได้ซึ่งหมายถึงการเรียกใช้ด้วยวิธีต่อไปนี้โดยไม่จำเป็นต้องระบุพารามิเตอร์ใด ๆ ของ windows:

Main.cmd

หรือ Linux:

Main.sh

ฉันจะแพคเกจ jar ลงในไฟล์เรียกทำงานได้อย่างไร


มีคำตอบสำหรับ Linux มีความคิดเกี่ยวกับวิธีการทำจาวา jar ในแบบที่ปฏิบัติการได้สำหรับ Windows หรือไม่?
AlikElzin-kilaka

สุจริตมันยากที่จะค้นหาสุทธิสำหรับ "jar to exe"? มีโซลูชั่นจำนวนมาก
Karan

@ การันดีแล้วมันจะง่ายต่อการตอบคำถาม
AlikElzin-kilaka

อย่างแน่นอน. คุณสามารถแก้ไขคำตอบที่มีอยู่ของคุณและเพิ่มในแล้วยอมรับด้วยตนเอง
Karan

1
ไม่เป็นไรคุณยินดีต้อนรับ :) ในทุกกรณีคำตอบที่ยอมรับได้จะดีกว่าเพราะคุณได้ถามเกี่ยวกับระบบปฏิบัติการหลายระบบและหากไม่มีคำตอบที่ครอบคลุมทั้งสองข้อมันจะไม่สมบูรณ์
Karan

คำตอบ:


3

สำหรับ Linux มีวิธี: แพ็คเกจ jar ในไฟล์ bash ขั้นตอน:

1- สร้างต้นขั้ว:

MYSELF=`which "$0" 2>/dev/null`
[ $? -gt 0 -a -f "$0" ] && MYSELF="./$0"
exec java -jar $MYSELF "$@"
exit $?

2- เชื่อมต่อ stub และ jar เข้ากับ executable ใหม่:

cat stub.sh Main.jar > main.sh

3- สร้างไฟล์ใหม่ที่ปฏิบัติการได้:

chmod +x main.sh

แค่นั้นแหละ! ที่มา: https://coderwall.com/p/ssuaxa/how-to-make-a-jar-file-linux-executable


คุณสามารถใช้ shell emulators เพื่อรันเชลล์สคริปต์บน Windows ได้เช่นกัน ตัวอย่างของโปรแกรมจำลองเช่น GitBash และ Cygwin
AlikElzin-kilaka
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.