Làm cách nào để chạy một cái bình khi tôi nhấp đúp vào nó?


10

Vì vậy, tôi nhấp đúp chuột vào tập tin jar của mình và nó chỉ nhấp nháy một cửa sổ với màn hình trắng thì nó biến mất. Sau đó, tôi nhấp chuột phải và chọn "Mở bằng jar launcher", nó giống nhau. quá. Tôi mở Terminal và gõ java -jar "System FRONT.jar"rồi nó mở ra một cách hoàn hảo.

Tôi muốn nó được mở trực tiếp khi nhấp đúp vào nó! Làm thế nào để làm điều đó?


Nó có thể mở một cửa sổ đầu cuối, kết thúc và sau đó đóng cửa sổ đầu cuối.
Mèo Unun

Để gỡ lỗi trong Terminal.app - goto Preferences-> Cài đặt, chọn tab Shell và thay đổi tùy chọn "Khi Shell thoát", thiết bị đầu cuối sẽ vẫn mở
user151019

Câu trả lời:


5

Bạn có thể thêm một đoạn script ngắn vào .jar để có thể thực thi được thông qua nhấp đúp chuột. Trong Terminal làm như sau:

$ 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

Nhấp đúp chuột để executable_appkhởi chạy ứng dụng.


Tại sao điều này làm việc ở nơi đầu tiên? Chà, .jar chỉ là một kho lưu trữ .zip được giải nén và thực thi bởi java. Và định dạng zip cho phép thêm vào các công cụ bổ sung trước kho lưu trữ thực tế. Bất kỳ trình giải nén zip nào bỏ qua phần này cho đến khi tìm thấy phần bắt đầu của kho lưu trữ (được biểu thị bằng PK ... ).


2

Cách tốt nhất để làm cho ứng dụng java gui hoạt động với OSX là gói nó dưới dạng một ứng dụng. Điều này đòi hỏi Jar Bundler.app mà trên Lion đang ở /usr/share/java/Tools/Jar Bundler.app. Tôi nghĩ rằng nó được cài đặt như một phần của Xcode nhưng dường như không có trong tài liệu hiện tại của Apple nên hiện tại có thể không được hỗ trợ. Tài liệu cũ ở đây

Dường như có các nhiệm vụ ant để làm điều này trong appbundler , được ghi lại trong tài liệu Oracle JavaSE .


Thật ra đây là một trò chơi. Vậy làm thế nào để tôi khiến mọi người nhấp đúp vào nó và mở bình của tôi mà không cần lệnh?
SystemNetworks

Những người dùng khác sẽ thích nó như một ứng dụng OSX hơn là chỉ .jar. Trong trường hợp này, bạn làm điều đó một lần trong quá trình xây dựng và người dùng không phải làm gì cả
user151019

0

gói

Bạn có thể sử dụng packr để đóng gói jarđể phân phối dễ dàng và nhấp đúp để mở:

Đóng gói JAR, tài sản và JVM của bạn để phân phối trên Windows (ZIP), Linux (ZIP) và Mac OS X (.app), thêm tệp thực thi gốc để làm cho nó xuất hiện như ứng dụng là ứng dụng gốc. Packr phù hợp nhất cho các ứng dụng GUI, chẳng hạn như các trò chơi được tạo bằng libGDX

packr đã được thảo luận trên Hacker News và là một dự án nguồn mở.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.