как я могу разработать Apple Java Extensions для Windows? - PullRequest
11 голосов
/ 28 января 2010

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

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

Ответы [ 5 ]

13 голосов
/ 14 апреля 2010

Я создал обновленную банку, чтобы решить эту проблему. Источник GitHub здесь . Он расположен на Maven Central

6 голосов
/ 28 января 2010

Похоже, это то, что вы ищете: http://developer.apple.com/mac/library/samplecode/AppleJavaExtensions/

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

0 голосов
/ 10 марта 2011

Последнюю версию можно загрузить с http://developer.apple.com/library/mac/samplecode/AppleJavaExtensions,, нажав на кнопку «Скачать образец» вверху страницы

Последняя документация на

http://developer.apple.com/library/mac/documentation/Java/Reference/JavaSE6_AppleExtensionsRef/api/index.html?com/apple/eawt/Application.html

0 голосов
/ 14 апреля 2010

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

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

0 голосов
/ 28 января 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...