2013-05-16 34 views
10

Tôi chịu trách nhiệm cho một ứng dụng Java được triển khai trên nhiều nền tảng bao gồm OS X. Với các phiên bản gần đây của ứng dụng, chúng tôi phân phối hai gói riêng cho OS X - một ứng dụng sử dụng JavaApplicationStub do Apple cung cấp và một ứng dụng khác bao gồm gói JDK 7 và sử dụng một trình khởi chạy được sản xuất trong nhà (một bản sửa đổi của JavaAppLauncher của Oracle).Mac OS X xác định rằng một ứng dụng cần Java như thế nào?

Vấn đề là, với gói sau, Mac OS X vẫn khẳng định bạn đã cài đặt Java 6 nếu bạn cố gắng chạy ứng dụng. Cụ thể là thông báo cho biết:

"Để mở (ứng dụng), bạn cần thời gian chạy Java SE 6. Bạn có muốn cài đặt ứng dụng này ngay bây giờ không?"

Nếu bạn không cài đặt Java SE 6, bạn không thể chạy ứng dụng, mặc dù JDK 7 được đóng gói (và, nếu bạn cài đặt Java 6, nó vẫn chạy với Java 7 kèm theo).

Tôi đang cố gắng tìm ra cách OS X quyết định rằng ứng dụng yêu cầu Java? Tôi đã thử đổi tên từ điển 'Java' trong tệp Info.plist và đổi tên thư mục con Java trong thư mục Tài nguyên, mà không thành công. Có ai có ý tưởng nào? Chắc chắn có thể có một ứng dụng chạy JDK đi kèm mà không cần cài đặt một hệ thống JDK?

+0

thực hiện [this] (http://stackoverflow.com/questions/14806709/application-is-using-java-6-from-apple-instead-of-java-7-from-oracle-on-mac- os-x) giúp đỡ trong bất kỳ cách nào? – Gamb

+0

* "một số khác bao gồm gói JDK 7" * DYM JRE 7? –

+0

Gamb, không. Chúng tôi không sử dụng JavaAppLauncher từ Apple. Vấn đề không phải là nó đang chạy với JDK sai, nhưng nó khẳng định rằng Java 6 được cài đặt. – davmac

Trả lời

2

Tôi đã tìm thấy câu trả lời (với sự trợ giúp từ Mike Swingler trên danh sách gửi thư [email protected]).

Sự hiện diện của từ điển 'Java' trong tệp Info.plist điều gì kích hoạt hộp thoại, tuy nhiên, việc thay đổi tên của từ điển sau khi cố gắng khởi động ứng dụng không đủ tốt. Hệ thống bằng cách nào đó lưu trữ các yêu cầu cho Java và do đó chỉ cần phát hành lại hộp thoại. Để tránh điều này, cần phải tải xuống bản sao mới của ứng dụng và thực hiện thay đổi trước khi thử chạy ứng dụng lần đầu tiên (tôi được thông báo rằng việc đổi tên ứng dụng sẽ đủ, thậm chí đổi tên và sau đó quay lại bản gốc Tên). May mắn thay, điều này có nghĩa là tất cả những gì chúng ta phải làm là thay đổi tên của từ điển 'Java', và thay đổi trình khởi chạy tùy chỉnh của chúng ta để nó sử dụng tên từ điển mới. Điều này có nghĩa là chúng ta cần phải làm như vậy.

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