I juli är det tänkt att Java SE 9, nästa version av den grundläggande Javaplattformen, ska släppas i en skarp version. Oracle har redan ägnat två år att upplysa världen om att Java 9 inte bara kommer att bli kanonbra, utan även om att det kommer att bli en del problem med att migrera applikationer till den nya plattformen.

Nu underlättar Oracle genom att publicera en guide med information om hur man ska gå till väga för att migrera applikationer till Java 9. Guiden gäller för JDK 9 (Java Development Kit), alltså Oracles referensimplementation av Java SE 9.

Läs också: Här är språket som utvecklare helst labbar med på fritiden

Man utlovar att kod som bara baseras på officiella api:er och supportade api:er för olika JDK-versioner ”bör” fungera utan att behöva ändras. Men det kan bli problem med kod som använder andra lösningar och även JDK-interna api:er. Och det är en hel del kod som uppfyller de kriterierna.

Bland arbetsmoment som bör utföras under en migrering nämns att installera en förhandsversion av Java 9, köra applikationer innan man kompilerar om dem, uppdatera tredjepartsbibliotek, kompilera och köra analysverktyget Jdeps. Det varnas för att utnyttja okända alternativ för den virtuella Javamaskinen och det uppmanas att testa att applikationer verkligen uppför sig på samma sätt som med äldre Javaversioner.

Bland anledningar till att kompileringar kan misslyckas med den nya versionen nämns att de flesta JDK-interna api:er inte är tillgängliga, vilken kan innebära fel under körning av applikationer. Sådana beroenden ska kunna upptäckas med analysverktyget.

Läs också: Oracle vill locka unga till Java med Raspberry Pi

I guiden står det att läsa att man kan få se fler varningar om api:er som har avvecklats än tidigare och en tydlig anvisning om hur man ska hantera sådana: ”Om du ser en varning om att ta bort kod så bör du göra det snabbt”.

Bland komponenter som tagits bort i Java 9 märks JavaDB, en version av databasen Apache Derby som tidigare ingått i Javaplattformen. Kod som utnyttjar den bör alltså skrivas om. Även experimentella verktyg som TI hprof och Jhat har tagits bort, liksom vm-klienten för 32-bitars Windows (man får hålla tillgodo med servervarianten) och motorn för Applescript på Mac OS.