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?
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
* "một số khác bao gồm gói JDK 7" * DYM JRE 7? –
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