Töövahendid
Juhend
Alguses
- Installeeri (või uuenda) vajalik tarkvara:
- Java SE JDK versioon 21.
- Git.
- IntelliJ IDEA versioon 2023.3 või uuem.
- Piisab Community edition-ist, kuid ülikooli emailiga saab tasuta ka Ultimate edition-it kasutada.
- Lae alla kursuse repositoorium:
- Ava IntelliJ ja vali Project from Version Control (menüüs File → New → …).
- Täida lahtrid:
- Version control: Git
- URL:
https://github.com/sws-lab/akt2024
- Directory: vali ise
- Vajuta Clone.
- Kontrolli, kas kõik töötab:
- Ava näidisfail
src/main/java/week1/HelloJava21.java
. - Käivita selle
main
meetod, klikkides mõnel rohelisel Run kolmnurgal või shortcut-iga Ctrl+Shift+F10. - Kui kõik töötab, siis trükitakse väljundaknasse 42.
- Ava näidisfail
Regulaarselt
- Edaspidi kursuse repositooriumi uuenduste alla laadimiseks vali menüüst Git → Update Project… või shortcut-iga Ctrl+T.
- Mõningatel nädalatel lisame oma projektile täiendavaid sõltuvusi. Nende sünkroniseerimiseks ava
build.gradle
fail ja vajuta üleval paremal nuppu Load Gradle changes.
- Mõningatel nädalatel lisame oma projektile täiendavaid sõltuvusi. Nende sünkroniseerimiseks ava
Kursuse repositoorium
Kursuse praktilise poole (programmeerimisülesanded) jaoks on repositoorium: https://github.com/sws-lab/akt2024. Sinna hakkavad jooksvalt ilmuma praktikumide, kodutööde ja eksamite materjalid, millel on kaasas ka automaattestid. Samuti avaldame selle repositooriumi sols/
kaustas möödunud praktikumide ja kodutööde näidislahendused.
Seega iganädalaselt tuleb repositooriumist uuendused alla laadida (vt ülal juhendi viimast sammu). Oma lahendused tuleb kirjutada etteantud failidesse etteantud kohtadesse. Oma lahenduste testimiseks saab käivitada vastavaid automaatteste src/test/java/
kaustas.
Ära nimeta ümber ega liiguta etteantud klasse ja meetodeid! Nõnda tekib probleeme kompileerimisega, automaattestide käivitamisega ja Moodle'isse esitamisega.
Soovitatav on oma lahendused lokaalselt commit-ida, kuid kursuse repositooriumisse neid üles laadida (push-ida) loomulikult ei saa. Kodutööd ja eksamid tuleb siiski esitada Moodle'isse. Sellegipoolest võid luua ka oma privaatse repositooriumi (nt GitHub-is) kuhu oma lahendusi üles laadida.
Kuna ülesanded on iseseisvaks lahendamiseks, siis ära loo avalikku repositooriumit ega jaga seda teistega.
Kotlin
Kuigi kõik kursuse materjalid on Javas, siis entusiastidel on võimalik ülesandeid lahendada ka Kotlinis.
Kursuse repositooriumis olevasse Gradle'i projekti on Kotlini tugi juba lisatud ja selle töökorra kontrollimiseks võib käivitada näidisfaili src/main/kotlin/week1/HelloKotlin.kt
.
Ülesande Kotlinis lahendamiseks tuleb etteantud Java lahendusfail teisendada Kotlini failiks, kusjuures klassi nimi ja kõigi nõutud meetodite signatuurid peavad säilima. Kõige lihtsam on see teisendus teha IntelliJ abiga: Code → Convert Java File to Kotlin File. Ülesande juurde kuuluvad abiklassid (mida muuta niikuinii ei tohi) ja testid jäävad endiselt Javasse.
Moodle'is tuleb Kotlinis kirjutatud lahendus esitada samasse kohta, kuhu esitaks Javas kirjutatud lahenduse; lihtsalt nt MiniAktk.java asemel tuleb üles laadida MiniAktk.kt. Automaatkontroll kasutab faililaiendi järgi automaatselt vastava keele kompilaatorit.
Probleemid
Lokaalselt Gradle kurdab Java versiooni üle
Kui lokaalselt Gradle'i projekti importides tekib selline veateade:
Inconsistent JVM-target compatibility detected for tasks 'compileJava' (21) and 'compileKotlin' (19).
Siis toimi järgnevalt:
- Veendu, et arvutisse on paigaldatud Java 21 (vt juhendit ülal).
- IntelliJ-s ava "File → Project Structure (Ctrl+Alt+Shift+S)".
- Avanenud aknas vali SDK väljalt versioon 21:
Testid lähevad lokaalselt läbi, aga Moodle'is saan 0 punkti:
Kontrolli, kas töö Moodle'is kompileerus. Seda saad kontrollida redigeerimisaknas parempoolsest paneelist:
Kompileerimisviga võib tulla näiteks, kui oled unustanud faili algusesse mõne impordi, mida tegelikult ei kasuta. Või vastupidi, sinu kodutöö fail impordib mõnda klassi, mida sa failina kaasa pannud ei ole. Sel juhul peaksid vastava faili koos kodutööga esitama.