Sublime er et enkelt verktøy for å utvikle Java-program. Det inneholder en editor (tekstbehandler) der vi redigerer programkode, og det har kobling mot verktøy for å kompilere utføre Java-program.
Hvis du har brukt et annet utviklingsverktøy for Java-program så må du gjerne fortsette å bruke dette. Les mer om alternativer til Sublime.
To nedlastinger/installasjoner, skal utføres i følgende rekkefølge:
Lag en katalog for å ta vare på filene du skal lage (se forslag til katalogstruktur).
Legg merke til at teksten endrer farge og muligens størrelse. Sublime gjenkjenner (mange) språk som teksten tilhører, og gir skilletegn, ord og setninger ulike utrykk gjennom font og farge. Du kan endre utseendet i Sublime fra default "Monokai", ved å klikke: Preferences | Color Scheme og velge f.eks. "iPlastic" (hvit bakgrunn i stedet for svart).
Når programkoden er skrevet inn, er det neste å kompilere (språklig sett godkjenne og deretter oversette til maskinutførbar kode). Dette krever oppkobling av Sublime mot JDK (Java Development Kit), som var det første du lastet ned og installerte.
Kompilering kan startes via menyvalg i Sublime: Tools | Build, eller man kan bruke tastekombinasjonen [Ctrl] [B] som en snarveg. Dette skal gi en deling av hovedvinduet i Sublime, og i nedre del ("konsollvinduet") kommer det systemmeldinger, og nå forhåpentligvis: "[Finished in 0.2s]". Dette betyr at Sublime har koblet seg opp mot JDK, og kompilatoren (et program der) har gått gjennom Java-fila og sjekket den for feil. Gitt at du har skrevet koden korrekt, kommer det en oversettelse til byte-kode og prosessen avsluttes med positiv melding "Finished". Her er det fullt mulig du både får feilmeldinger pga. feil i koden, og fordi oppkobling mot JDK ikke var vellykket. Du kan sjekke katalogen der SkrivMelding.java ble lagret, og se om en ny fil SkrivMelding.class har dukket opp. Denne fila kan JVM (Java Virtual Machine) utføre/kjøre på din maskin. JVM er en integrert del av Java SE som du har lastet ned og installert. Men hvordan starte JVM for å få kjørt programmet vårt?
Selv om du ikke fikk "suksess" med kompilering, så gå videre til neste punkt. Der skal vi nemlig lage vårt oppsett for å ta kontroll på både kompilering og kjøring.
Programkjøring i Sublime er ikke helt rett fram. Vi skal derfor lage oss et eget integrasjonsoppsett mellom Sublime og Java SE, som både håndterer kompilering og kjøring. Pass på å gjennomføre alle de tre delene av prosessen nedenfor.
NB! [Ctrl]-knappen på Windows erstattes av [Cmd]-knappen på Mac.
Først forteller vi Sublime hvilken Java-kommando (kompilering) som skal følge av tastekombinasjonen [Ctrl] [B], hvor Java-programvaren er installert og hvilken Java-kommando (kjøring/Run) som skal følge av tastekombinasjonen [Shift] [Ctrl] [B].
{ "cmd": ["javac", "-Xlint:none", "-cp", ".;..", "-encoding", "utf8", "$file_name"], "path": "C:\\Program Files\\Java\\jdk-11.0.1\\bin", //******************************************************************************** // NB! Sjekk at katalognavn (etter "path") stemmer med plasseringen på din maskin! //******************************************************************************** "selector": "source.java", "file_regex": "^(...*?):([0-9]*):?([0-9]*)", "encoding": "cp1252", "variants": [ { "name": "Run", "cmd": ["java", "-cp", ".;..", "$file_base_name"] } ] } |
{ "cmd": ["javac \"-Xlint:none\" \"-cp\" \".:..\" \"-encoding\" \"utf8\" \"$file_name\" "], "shell": "true", "file_regex": "^(...*?):([0-9]*):?([0-9]*)", "selector": "source.java", "working_dir": "${project_path:${file_path}}", "variants": [ { "name": "Run", "cmd": ["java \"-cp\" \".:..\" \"$file_base_name\" "], "shell": true } ] } |
{ "cmd": ["javac \"-Xlint:none\" \"-cp\" \".:..\" \"-encoding\" \"utf8\" \"$file_name\" "], "shell": "true", "file_regex": "^(...*?):([0-9]*):?([0-9]*)", "selector": "source.java", "variants": [ { "name": "Run", "cmd": ["java \"-cp\" \".:..\" \"$file_base_name\" "], "shell": "true" } ] } |
I alle de tre versjonene forteller "-cp", ".;.." (evt. "-cp", ".:.." på Mac/Linux) at aktuelle filer for kompilering/kjøring ligger i denne katalogen (.), eller (; / :) i katalogen på nivået over denne katalogen (..). Det er ved bruk av ressurser utenom programmet vårt, vi trenger å fortelle hvor dette er å finne. Om noen ønsker å plassere program dypere ned i katalogstrukturen enn det vi legger opp til, så er det bare å utvide mønsteret for å "klatre" i katalogene. Det er også mulig å legge inn en absolutt filsti til aktuelle ressurser (som f.eks. EasyGraphics).
Vi legger også inn [Shift] [Ctrl] [B] som en tastekombinasjon i Sublime for å kunne kjøre Java-program etter at de er kompilert.
[ { "keys": ["ctrl+shift+b"], "command": "build", "args": {"variant": "Run"} } ] |
[ { "keys": ["super+shift+b"], "command": "build", "args": {"variant": "Run"} } ] |
Til slutt må du kontrollere at oppsettet er korrekt og velfungerende.
*) Systemprosessene kan ta litt ulik tid fra gang til gang, og fra maskin til maskin, så det kan være forskjellige tidsangivelser i disse slutt-meldingene.
De siste gitte meldingene fra JVM bekrefter at du har korrekt oppsett på din maskin. Du har nå en utmerket løsning for både å skrive og teste Java-program som er aktuelle i læreboka, og for videre programutvikling.