2010-01-27 7 views
11

Quando eseguo test su più piattaforme su Windows, diventa fastidioso che Eclipse mostri errori nel progetto a causa del codice com.apple.eawt che ho in una speciale attività di personalizzazione del Mac. Peggio ancora, se esporto un jar eseguibile su Windows, non verrà eseguito su Mac a causa dei problemi di compilazione non risolti.come posso sviluppare Apple Java Extensions su Windows?

Qual è il modo migliore per far vivere in pace Windows Java e com.apple.eawt? Non riesco a vedere come sarei in grado di eseguire il codice su un jar, poiché richiede l'accesso a molti stati del programma.

risposta

13

ho creato un vaso aggiornato per risolvere questo problema. GitHub fonte here. e 'ospitato su maven central

+0

Grazie, questo è un enorme risparmio di tempo! –

6

Questo sembra che potrebbe essere quello che stai dopo: http://developer.apple.com/mac/library/samplecode/AppleJavaExtensions/

Si tratta di un vaso pluggable di classi stub che rappresenta il nuovo Apple API eAWT e OEI per Java 1.4 su Mac OS X. Lo scopo di questi stub è quello di consentire la compilazione di eAWT- o il codice EIO-referenziazione sul piattaforme diverse da Mac OS X.

+1

Oh uomo quello che una rottura. Poiché è per un vecchio JDK, non supporta setDockIcon() di cui ho bisogno quando l'app viene avviata tramite Java Web Start. Ma grazie per il piombo !! –

0

potreste essere in grado di utilizzare l'approccio adottato nella OSXAdapter, la "dinamica implementazione [della WHI ch] verrà attivato solo su piattaforme che supportano effettivamente le API Apple (ad es. Java 1.4 o successivo su Mac OS X), evitando eventuali problemi di compatibilità." A sample application e la adapter stessa sono disponibili, come menzionato in questo article.

0

Inserire il codice specifico OS X in una classe separata.

nel codice principale, l'uso di riflessione per vedere se sono presenti una delle classi di Apple (o un Class.forName), e se così, POI invocare la classe separata di cui sopra. Non riesco a ricordare se è possibile farlo in modo sicuro solo da calli no, o devi anche richiamare la classe separata per riflessione.

0

L'ultima può essere scaricato dal http://developer.apple.com/library/mac/samplecode/AppleJavaExtensions, fare clic sul pulsante "Download campione" nella parte superiore della pagina

L'ultima documentazione è a

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

+0

A partire da marzo 2014, il collegamento della documentazione fornisce una pagina non trovata. Devo amare l'abitudine di Apple di spostare le cose in giro. *sospiro* –

Problemi correlati