2009-02-26 23 views
15

Tôi đang phân phối một chương trình Java mà tôi muốn có một tập tin đúp nhấp vào để chạyTương đương với double-clickable .sh và .bat trên Mac?

java -cp MyProgram.jar;MyLib.jar my.program.Main 

Trên Windows tôi chỉ đơn giản phân phối một tập tin .bat, cho * nix một file sh thực thi. Vấn đề là, nhấp đúp vào tệp .sh vừa mở nó trong trình soạn thảo văn bản trên Mac. Tôi nên làm gì cho Mac?

Trả lời

31

Trên máy Mac, có một tiện ích mở rộng cụ thể để thực thi tập lệnh shell bằng cách nhấp đúp vào chúng: đây là .command.

+0

hoạt động như một sự quyến rũ! – Epaga

+5

Đây là một câu hỏi khá cũ, nhưng đối với những người nhận được một ' .command không thể được thực thi vì bạn không có quyền truy cập thích hợp.' lỗi, như tôi đã, thực hiện như sau trên Terminal:' chmod u + x/path/to/file.command' và điều đó sẽ loại bỏ vấn đề đó. – asherbar

+0

@ user2016436 Tôi không muốn thêm 'chmod u + x' để chạy tệp, vì tệp thi hành sẽ chạy tại máy khách. tôi nên làm gì? –

2

Bạn có thể sử dụng .sh (Shell Script), sau khi tất cả MacOSX là Unix!

4

Đối với các ứng dụng Java trên Mac, bạn thực sự nên sử dụng Jar Bundler của Apple (trong thư mục Công cụ phát triển/Ứng dụng/tiện ích; thực sự là liên kết tượng trưng đến/usr/share/java/Tools/Jar Bundler). Nó cho phép bạn tạo một ứng dụng có thể nhấp đúp OS X thích hợp, bao gồm cả các tùy chọn cài đặt cho ví dụ: sử dụng thanh công cụ Mac, phiên bản JVM, hệ thống đồ họa, siêu dữ liệu ứng dụng OS X và classpath/tài nguyên.

1

Câu trả lời về việc sử dụng công cụ Jar Bundler là chính xác, nhưng nếu bạn muốn sử dụng tệp .sh, hãy đảm bảo các quyền unix được đặt chính xác thành 755 với CHMOD và đảm bảo dòng đầu tiên chứa đường dẫn vào một hệ vỏ được cài đặt mặc định trên Mac OS X. Cũng lưu ý rằng ngay cả với bộ + x bit, nó vẫn có thể hỏi người dùng xem họ có muốn mở hay chạy nó không.

Các vấn đề liên quan