ฉันจะรันไหได้อย่างไรเมื่อฉันดับเบิลคลิก


10

ดังนั้นฉันคลิกสองครั้งที่ไฟล์ jar และมันแค่กระพริบหน้าต่างที่มีหน้าจอสีขาวแล้วมันก็จะหายไป หลังจากนั้นฉันคลิกขวาและเลือก "Open with jar launcher" เหมือนกัน เกินไป. ฉันเปิด Terminal ขึ้นมาjava -jar "System FRONT.jar"แล้วพิมพ์มันก็เปิดขึ้นมาอย่างสมบูรณ์แบบ

ฉันต้องการให้เปิดโดยตรงเมื่อดับเบิลคลิก! ฉันจะทำอย่างไร


มันอาจเปิดหน้าต่างเทอร์มินัลเสร็จแล้วปิดหน้าต่างเทอร์มินัล
Cat Unfun

ในการดีบักใน Terminal.app - goto Preferences-> Settings เลือกแท็บ Shell และแก้ไขตัวเลือก "เมื่อ Shell ออก" ตัวเครื่องจะเปิดค้างอยู่
user151019

คำตอบ:


5

คุณสามารถเพิ่มสคริปต์สั้น ๆ ลงใน. jar เพื่อให้สามารถเรียกใช้งานได้ด้วยการดับเบิลคลิก ใน Terminal ให้ทำสิ่งต่อไปนี้:

$ cat > header-template <<"EOF"
#!/bin/sh

exec java -jar $0 "$@" > /dev/null

EOF
$ cat header-template "System FRONT.jar" > executable_app
$ chmod +x executable_app

ดับเบิลคลิกexecutable_appตอนนี้ควรเปิดแอปพลิเคชัน


เหตุใดจึงทำงานได้ตั้งแต่แรก ดี. jar เป็นเพียงไฟล์เก็บถาวร. zip ซึ่งถูกคลายและประมวลผลโดย java และรูปแบบซิปช่วยให้การเติมสิ่งเพิ่มเติมในด้านหน้าของที่เก็บจริง unarchiver ซิปใด ๆ ข้ามส่วนนี้จนกว่าจะพบจุดเริ่มต้นของการเก็บถาวร (ระบุโดยPK ... )


2

วิธีที่ดีที่สุดในการทำให้แอปพลิเคชัน java gui ทำงานร่วมกับ OSX ได้คือการรวมเป็นแอปพลิเคชัน นี้ต้อง Jar Bundler.app /usr/share/java/Tools/Jar Bundler.appซึ่งสิงโตที่ ฉันคิดว่ามันได้รับการติดตั้งเป็นส่วนหนึ่งของ Xcode แต่ดูเหมือนจะไม่อยู่ในเอกสารปัจจุบันของ Apple ดังนั้นอาจไม่ได้รับการสนับสนุนในขณะนี้ เอกสารเก่าอยู่ที่นี่

มีไม่ดูเหมือนจะเป็นงานที่มดจะทำเช่นนี้ในappbundlerซึ่งมีการบันทึกไว้ในเอกสารของ Oracle JavaSE


จริงๆแล้วมันเป็นเกม ดังนั้นฉันจะทำให้คนดับเบิลคลิกที่มันและเปิดขวดของฉันโดยไม่มีคำสั่งได้อย่างไร
SystemNetworks

ผู้ใช้รายอื่นจะชอบมันเป็นแอพ OSX มากกว่าเพียงแค่. jar ในกรณีนี้คุณทำครั้งเดียวเป็นส่วนหนึ่งของกระบวนการสร้างและผู้ใช้ไม่ต้องทำอะไรเลย
user151019

0

packr

คุณสามารถใช้packrเพื่อจัดทำแพ็กเกจของคุณjarเพื่อการแจกจ่ายที่ง่ายดายและดับเบิลคลิกเพื่อเปิด:

แพ็กเกจ JAR สินทรัพย์และ JVM ของคุณสำหรับการเผยแพร่บน Windows (ZIP), Linux (ZIP) และ Mac OS X (.app) เพิ่มไฟล์เรียกทำงานเนทิฟเพื่อให้ดูเหมือนแอปนั้นเป็นแอปเนทีฟ Packr เหมาะสมที่สุดสำหรับแอปพลิเคชั่น GUI เช่นเกมที่สร้างด้วย libGDX

packr ได้รับการกล่าวถึงในHacker Newsและเป็นโครงการโอเพ่นซอร์ส

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