как я могу разработать Расширения Java Apple в Windows?

Когда я делаю многоплатформенное тестирование в Windows, это становится раздражающим, что Eclipse показывает ошибки в проекте из-за кода com.apple.eawt, что я имею в специальной пользовательской настройке Mac. Хуже все же, если я экспортирую выполнимую банку в Windows, это не будет работать на Mac из-за нерешенных проблем компиляции.

Что лучший способ состоит в том, чтобы позволить Windows Java и com.apple.eawt жить в мире? Я не вижу, как я смог бы отделить код к банке, так как он требует доступа к большому количеству состояния программы.

11
задан Kara 21 January 2014 в 17:04
поделиться

4 ответа

Я создал обновленную банку для решения этой проблемы. Источник GitHub здесь . Он размещен на maven central

13
ответ дан 3 December 2019 в 06:21
поделиться

Вы можете использовать подход, предпринятый в osxAdapter , «динамическая реализация [из которых] будет запущена только на платформах, которые фактически поддерживают Apple API (например, Java 1.4 или позже на Mac OS X), избегая любых проблем совместимости ». A Применение образца и самого адаптера , как указано в этой статье .

0
ответ дан 3 December 2019 в 06:21
поделиться

Это похоже на то, что вы после: http://developer.apple.com/ Mac / Библиотека / Samplecode / Applejavaextensions /

Это подключаемая банка классов заглушек, представляющих новое Apple EAWT и EIO API для Java 1.4 на Mac OS X. Цель этих заглушек состоит в том, чтобы обеспечить компиляцию кода EAWT или EIO-ссылок на Платформы, отличные от Mac OS X.

6
ответ дан 3 December 2019 в 06:21
поделиться

Поместите специальный код OS X в отдельный класс.

В основном коде используйте отражение, чтобы увидеть, присутствует ли один из классов Apple (или Class.forName), и если это так, ЗАТЕМ вызовите отдельный класс, указанный выше. Я не могу вспомнить, можете ли вы сделать это безопасно, просто вызвав его, или вам также нужно вызвать отдельный класс путем отражения.

0
ответ дан 3 December 2019 в 06:21
поделиться