Stiamo sviluppando un'applicazione basata su Windows utilizzando Java per un po 'di tempo, ma ora vogliamo fare una porta mac e fare il reverse del codice da Java 6 e Java 5. C'è un modo semplice per farlo piuttosto che ri-codificare il codice specifico di Java 6? Vorremmo mantenere aggiornato il nostro codice.Un modo semplice per eseguire il backport del codice Java 6 su Java 5?
risposta
Si potrebbe essere in grado di eseguire il backport delle librerie aggiuntive da Java 6 a Java 5, ma immagino che sarebbe più difficile che valga la pena. I Mac Intel con processori a 64 bit (quindi non l'originale Intel Mac Mini) che eseguono Leopard hanno Java 6, quindi forse potresti semplicemente indirizzarli?
Apple ha rilasciato Java 6 sull'ultima versione di OS X. Quali caratteristiche stai utilizzando specificamente da Java6 che non sono in java5?
Sai quanto dovresti riscrivere se tornassi su Java 5? Se modifichi l'impostazione JDK nel tuo IDE e provi a ricompilarlo, dovresti darti un'idea abbastanza precisa di quanto sarebbero grandi in realtà le modifiche. Per la maggior parte degli sviluppatori, Java 6 non offre davvero troppo in termini di nuove funzionalità/API, ma suppongo che sia possibile che il tuo progetto dipenda in larga misura da qualcosa che è stato aggiunto.
Non sono state introdotte modifiche di lingua in Java SE 6, quindi le opzioni di destinazione e sorgente non hanno (quasi) alcun effetto – Davide
Utilizziamo principalmente Java 6 per il vassoio di sistema. Tutto il resto può essere risolto con le librerie ... –
In realtà c'è una (o una sorta) modifica della lingua in Java SE 6: @Override può essere usato per le implementazioni dell'interfaccia. – NullNoname
Ci sono un paio di librerie là fuori che possono aiutarti. Sfortunatamente non li ho provati da solo, perché non mi sono mai imbattuto in una situazione del genere.
Nella mia esperienza questo è così facile che il piagnisteo richiede più tempo rispetto al fare. Ci sono pochissime cose in 1.6 che non possono essere backport con un minuto (letteralmente) di lavoro. Quanti errori di compilazione stai vedendo quando lo provi con 1.5, e per cosa?
Ricordare che ci sono prontamente disponibili, API compatibili, backport di basso impatto per le poche cose che sono utili in 1.6 (SwingWorker).
vedere qui:
http://en.wikipedia.org/wiki/Comparison_of_backporting_tools
ho cercato retrotranslator da 1.6 a 1.4.2 e funziona piuttosto bene!
C'è anche Java 8 per Mac OS X. Nuove versioni di Java sarebbero compatibili, come Java 8 è compatibile con Java 5 Code, quindi anche il codice Java 6 è compatibile.
Sì, abbiamo avuto Java6 per un po 'ora con leopardo, non è solo l'impostazione predefinita. – Aaron
E se si tratta di un'applet, java 6 non è un'opzione. Forse quando viene rilasciato snow leopard (safari sarà 64-bit) – tuler