2010-01-27 16 views
11

Kiedy przeprowadzam testy wieloplatformowe w systemie Windows, denerwuje to, że Eclipse pokazuje błędy w projekcie z powodu kodu com.apple.eawt, który mam w specjalnym zadaniu dostosowywania Mac. Co gorsza, jeśli wyeksportuję działający plik jar w systemie Windows, nie będzie działać na komputerze Mac z powodu nierozwiązanych problemów z kompilacją.Jak mogę rozwijać rozszerzenia Apple Java w systemie Windows?

Jaki jest najlepszy sposób, aby pozwolić Windowsowi Java i com.apple.eawt żyć w pokoju? Nie widzę, jakbym był w stanie wyodrębnić kod do słoika, ponieważ wymaga on dostępu do dużej części stanu programu.

Odpowiedz

13

stworzyłem zaktualizowaną słoik, aby rozwiązać ten problem. Źródło GitHub here. jest gospodarzem na maven central

+0

Dziękuję, to jest ogromna oszczędność czasu! –

6

wygląda to jak to może być, co jesteś po: http://developer.apple.com/mac/library/samplecode/AppleJavaExtensions/

To wtykowy słoik klas króćcami reprezentujący New Apple eAWT i EIO API dla Java 1.4 na Mac OS X. Celem te odcinki jest umożliwienie opracowywania eAWT- lub kodu EIO-odwołującego na platformach innych niż Mac OS X.

+1

O człowieku co za porażka. Ponieważ jest to stary JDK, nie obsługuje funkcji setDockIcon(), której potrzebuję, gdy aplikacja jest uruchamiana przez Java Web Start. Ale dziękuję za prowadzenie !! –

0

Możesz być w stanie korzystać z podejścia przyjętego w OSXAdapter, w „dynamicznej realizacji [z whi ch] będzie uruchamiany tylko na platformach, które faktycznie obsługują interfejsy API Apple (np. Java 1.4 lub nowszy Mac OS X), aby uniknąć jakichkolwiek problemów z kompatybilnością.”To sample application i adapter sama dostępne są, jak wspomniano w tym article.

0

Umieść kod specyficzny dla OS X w oddzielnej klasie.

w głównym kodzie użycie refleksji aby zobaczyć, czy jedna z klas firmy Apple są obecne (lub Class.forName), a jeśli Tak więc, THEN powołują się na oddzielną klasę powyżej Nie pamiętam, czy możesz to zrobić bezpiecznie po prostu przez calli ng it, lub musisz wywołać osobną klasę również poprzez odbicie.

0
+0

Od marca 2014 r. Łącze do dokumentacji powoduje wyświetlenie strony. Muszę pokochać nawyk Apple'a do przenoszenia rzeczy. *westchnienie* –

Powiązane problemy