JDK (Java Development Kit)
TODO: Videoilla ohjeet on Java 17 varten! Käytä kuitenkin aina 22 sen tilalla jos versio on suurempi.
Kurssin työkalukimaran asentaminen aloitetaan varmistamalla, että koneessa pyörii sopiva JDK
.
Termejä:
JDK
= Java Develoment Kit, Javan kehitysympäristö. Tämä pitää olla että voi kääntää Java ohjelmia (.java
). Täältä löytyy esimerkiksi Java-kääntäjäjavac
.JRE
= Java Runtime Environment, Javan ajoympäristö, Java tulkki. Tämä pitää olla jotta voi ajaa Java-ohjelmia (.class
,.jar
). Tämän asentuu JDK:n mukana, joten ei tarvitse asentaa erikseen.JavaFX
= graafisen käyttöliittymänkirjasto, jossa käyttöliittymän ulkoasun voi kirjoittaa.xml
:'' muistuttavalla.fxml
-kielellä. Jossakin vaiheessaJavaFX
tuli suoraan Javan mukana, mutta pudotettiin sitten pois. Aloitamme omissa asennuksissa luomalla uudenJDK
-paketin jossa on taasJavaFX
mukana.c:\MyTemp
= oletetaan että omat työt tehdään tähän kansioon. Tämä on lähinnä historiallinen nimi kun yliopiston mikroluokissa oli aina tämän niminen hakemisto. Tämän voi korvata millä tahansa nimellä, esimc:\kurssit
taic:\opinnot
tms. Kunhan ei käytä hakemistojen nimiä, missä on skandeja tai välilyöntejä. Mac ja Linux vastaavasti~/MyTemp
tai~/kurssit
tms. Eli mitä haluaakin käyttää tämän vastikkeena kurssilla, niin se kannattaa luoda nyt aluksi. Jos on useampi levy, niin kannattaa käyttää muuta levyä kuinc:
-levyä.c:\devel
= Windows käyttäjille suositeltu kansio sijoittaa kaikki kurssin työkalut (huomaa että nimi on lyhenne sanastadevelopment
, eli siinä EI ole numeroita!). Helpottaa ohjeita jos kaikki laittavat samanalaiseen hakemistoon. Mac ja Linux vastaava voisi olla~/devel
.
Alta löydät asennusohjeet niin Windowsille, Macille kuin Linuxille.
Jos jokin on epäselvää tai käytäntö poikkeaa ohjeesta, kommentoi toki marginaaliin tai tee täsmennyksiä itse ohjeeseen.
Huom! JDK:sta on tullut uusi versio 22.02, jos lataat tämän niin tee muutokset annettuihin ohjeisiin. Esim muuta jdk-21.01
-> jdk-22.02
1. Asentaminen
Ainakin Windowsissa voi olla varmin veto ensin poistaa kaikki Javat, jotta ei tule ristiriitaa eri Java-versioiden kanssa. Tosin oikein asetettujen ympäristömuuttujien kanssa tätä pystyy hallitsemaan ilmankin poistoja. Kokeile ensin onko Javaa asennettuna komennolla:
java -version
Vanhan version vaihto:
Jos esimerkiksi teet uutta asennusta vanhan asentamasi version 17.0.1 tilalle ja vaihdat versioon 22.0.2 niin tee ensin tuhoa hakemisto
jdk-17-JavaFX
Sitten jatka käyttöjärjestelmäsi JDK-asennusohjeilla. Uusijdk-17-JavaFX
syntyyjlink
-komennon yhteydessä ja jos vanhat polut yms oli laitettu tuohon, niin silloin niitä ei tarvitse enää säätää. Samoin Eclipsen asennukset pitäisi toimia suoraan.
1.1 Windows (JDK+JavaFX), Command Prompt
Selvitä aluksi onko Windows versiosi 32- vai 64-bittinen. Windows on 64-bittinen, mikäli löytyy hakemisto:
C:\Program Files (x86)
Nykypäivänä on äärimmäisen epätodennäköistä että koneesi olisi 32 bittinen.
—- Mikäli tätä ei löydy, sinulla on vain 32-bittinen Windows, jolloin joudut tyytymään Java 1.8:aan. Kurssin asiat saa tehtyä silläkin. Sen voi ladata jdk8-sivulta.
Muut voivat asentaa Java JDK jdk-22.0.2. Versionumero voi olla muukin kuin jdk-22.0.2
, eli tee mielessäsi tarvittavat muutokset ohjeisiin jos versionumero on eri.
Vinkki: valitse resurssihallinnasta View/File name extensions
.
Avaa selaimella lataussivut
- Lataa jdk-22.0.2 kohdasta
Windows/x64
- Lataa openjfx-21 kohdasta
Windows/x64/jmods
(ole todella tarkkana että oikea nimi! Eli Windows, 64 bit, mods) Huom! Jos virallinen versio on jo isompi, saadaksesi oikean version openjfx-21 sinun tulee painaa täppää 'include older versions' ja valita dropdown-valikosta oikea versio!
- Lataa jdk-22.0.2 kohdasta
Pura molemmat hakemistoon
C:\devel
(huomaa lyhenne sanasta development, ei lopu numeroon)- klikkaa hiiren oikealla
zip
-tiedostoa Extract All...
\devel
Extract
- klikkaa hiiren oikealla
Varmista, että sinulla on seuraava hakemistorakenne (jos
javafx-jmods-21
-kansion nimen perässä on alanumeroita kuten22.0.2.1
niin poista alanumerot pois nimeämällä kansio uudelleen)C:\devel\jdk-22.0.2 bin conf ... C:\devel\javafx-jmods-21 javafx.base.jmod ...
Avaa komentorivi järjestelmänvalvojana (eli klikkaa oikealla cmd-ikonia ja valitse sieltä) ja siirry hakemistoon
C:\devel
(huom, jos käytäg GitBashia, niin muista että\
tilalla komennoissa on/
jac:\
tilalla on/c/
)cd C:\devel
Tee kustomoitu JDK, joka sisältää JavaFX:n moduulit
jdk-22.0.2\bin\jlink --module-path javafx-jmods-21 --add-modules java.se,javafx.fxml,javafx.web,javafx.media,javafx.swing,jdk.jshell --bind-services --output jdk-22-JavaFX
Lisää polkuun ensimmäiseksi kustomoidun JDK:n asennushakemiston bin-polku (muuten esim. komento
javac
taijshell
ei toimi). Windowsissa (katso myös ympäristömuuttujat):Kirjoita komentoriviltä
control
(suom. Ohjauspaneeli)System
(suom. Järjestelmä)Advanced system settings
(suom. Järjestelmän lisäasetukset), Windows 11: kirjoita hakusanaksi tämä (kielestä riippuen)Environment Variables
(suom. Ympäristömuuttujat)Etsi
System variables
kohdastaPath
, jos ei ole, luo sellainenEdit
(suom. Muokkaa)New
Lisää rivi:
C:\devel\jdk-22-JavaFX\bin
Pidä huoli että tuo nousee koko listan ylimmäksi, eli paina
Siirrä ylös
riittävän monesti.OK
riittävän monestiKäynnistä uusi komentorivi
Kun kirjoitat komentoriviltä
path
pitäisi tuon näkyä ensimmäisenä:C:\kurssit\ohj2\ohj2>path PATH=C:\devel\jdk-22-JavaFX\bin;C:...
Lisää/korjaa
JAVA_HOME
(tarvittaessa katso):Kirjoita komentoriviltä
control
(suom. Ohjauspaneeli)System
(suom. Järjestelmä)Advanced system settings
(suom. Järjestelmän lisäasetukset)Environment Variables
(suom. Ympäristömuuttujat)Etsi user variables kohdasta
JAVA_HOME
, jos ei ole, luo sellainenEdit
(suom. Muokkaa)Lisää/muokkaa rivi:
C:\devel\jdk-22-JavaFX
OK
riittävän monesti
Tarkista myös
System variables
että siellä ei oleJAVA-HOME
tai siellä on samat arvot.
Muista suorittaa komentorivi järjestelmänvalvojana
—kun laitan komentoriville ton pitkän komennon niin tulee lukemaan "bash: jdk-19.0.1binjlink: command not found ". mikä avuksi?
VL: bash-shellissä pitää antaa /-viivoilla noita hakemistoja. Ks mallia Linux ohjeiden puolelta, mutta sovella niin että hakemiston on /c/devel
Latasin version 22.0.2 win.. ja nyt teki herjan ettei module javafx.web not found. poistanko lautukset ja kokeilen uudestaan?
VL: nuo uudetkin saanee toimimaan kuin seuraavissa komennoissa muistaa muuttaa sielläö olevia versionumeroita vastaaasti. Jonkin pitäisi meistä ehtiä kokeilemaan miten ne uudet versiot toimivat. Mutta siis varmaan ainaki niitä 21 pitää muutella 22.
—1.2 Mistä tiedän että toimii
Kirjoita komentoriville
java --version
Tulostuuko komentoriville?
openjdk 22.0.2 2024-07-16
Kirjoita komentoriville
java --list-modules
Tulostuuko komentoriville mm seuraavat (ja @versionumero perään)?
javafx.base javafx.controls javafx.fxml javafx.graphics javafx.media javafx.swing javafx.web
--list-modules eikä java --version ei toimi, ja jos haen where java ei se löydy niin kuin videolla, develissa path kyllä löytää jdk ensimmäisenä
Tuplacheckkaa viela PATH, että varmasti täysin samalla tavalla, kuin ohjeessa. Kokeile myös käynnistää komentorivi uudestaan. Jos ei ratkea, niin pääteohjauksesta apua. OH
Varmista, että tulosteessa versionumero on 22.0.2. Jos koneessa on vanhempi Java asennettuna, käy poistamassa siihen osoittava polku ympäristömuuttujista.
Jos antaa väärän version, niin komennolla:
where javac
näkee mistä polusta javac
-käynnistyy.
Mitäs jos javani onkin version "1.8.0_271"?
VL: Silloin asennukset eivät ole menneet oikein. Sulla ei ole tuolla ylempänä tehty polkuasetus mennyt oikein. Käynnistitkö uuden komentoikkunan noiden jälkeen?
—Haittaako jos versionumeroksi tulee 18.0.2.1?
Kunhan moduulit löytyvät, ei tuon pitäisi haitata! OH
1.3 jshell
Kokeile myös seuraavaa (kirjoita aina väkäsen >
perässä oleva teksti):
C:\kurssit\ohj2\demo1>jshell
| Welcome to JShell -- Version 22.0.2
| For an introduction type: /help intro
jshell> System.out.println("Hello")
Hello
jshell> /exit
| Goodbye
✅ Nyt saat ruksia asennetuksi kohdan: Java JDK.
Komennosta jshell
voit lukea lisää Oraclen dokumentatiosta.
Kokeile myös kohta 2. Käyttäminen komentoriviltä.
1.4 macOS
1.4.1 JDK 22.0.2
Macissä pitää ensin selvittää onko prosessori Intel vai M1:
- vasemmasta ylänurkasta Apple ikoni
- Tietoja tästä Macista
- Järjestelmäpiiri tai Prosessori ja siinä lukee joko Intel jotakin tai Apple M1
- Muista tämä jatkossa Intel vai M1
Helpompi tapa voisi olla ensin asentaa Hombrew sivustolta
ja sitten asentaa OpenJDK komennolla
brew install openjdk
— Hae JDK Java-sivulta
- Valitse JDK 22 oikean käyttiksen kohdalta Intel: (macOS/x64), M1: (macOS/Aarch64)
Tuplaklikkaa ladattua tiedostoa ja se purkautuu
Lataukset
- kansioon (Downloads
lontoonmurteella tai komentoriviltä)Avaa terminaali ja anna komennot
cd ~/Downloads sudo mv jdk-22.0.2.jdk /Library/Java/JavaVirtualMachines/
Merkki
~
tulee Macissa Suomi-näppäimistöllä (layoutilla)option+¨
,¨
löytyyå
-kirjaimen oikealta puolelta, ja Suomi - laajennettu -näppäimistölläoption+k
taioption+command+¨
taioption+k
ja välilyönti. Vanhoissa koneissaoption
-näppäin (⌥) voi olla nimettyalt
-näppäimeksi.Jos sanoo "operation not permitted" tee seuraavat (lyhennetty sivulta fix-operation-not-permitted-terminal-error-macos):
- Valitse vasemmalta ylhäältä apple-logo ja sieltä Järjestelmäasetukset.
- macOS Sonoma (14) ja uudemmat: Valitse Tietosuoja ja suojaus ja sieltä "Koko levyn käyttö"
- Oikealla puoliskolla ikkunassa voi olla ohjelmia, niiden alla on painikkeet
+
ja-
, paina+
. Tunnistaudu, kun käyttöjärjestelmä sitä pyytää (sormenjälki tai salasana).
- Oikealla puoliskolla ikkunassa voi olla ohjelmia, niiden alla on painikkeet
- Vanhemmat macOS-versiot: Valitse suojaus ja yksityisyys ja sieltä koko levyn käyttö.
- Paina alhaalta vasemmalta lukon kuvaa ja avaa se, että voit muokata asetuksia. Paina sitte +-merkkiä.
- Etsi tiedostovalitsijasta "Apit"-kansiosta "Lisäapit" ja sieltä "Pääte" ja paina
Avaa
. - Katso että "Pääte" on valittuna ja poistu. Kokeile kohtaa 3 uudestaan.
Jos tulostaa tyyliin (tietysti nykyisillä versionumeroilla 22.0.2):
ohjmac:~ vesal$ java --version openjdk 22.0.2 2021-10-19 OpenJDK Runtime Environment (build 22.0.2+12-39) OpenJDK 64-Bit Server VM (build 22.0.2+12-39, mixed mode, sharing) ohjmac:~ vesal$ javac --version javac 22.0.2
niin homma on valmis asennuksen osalta JDK:n asennuksen osalta :-)
Jos ei anna ajaa Java, niin voit joutua antamaan sille oikeuksia:
xattr -r -d com.apple.quarantine /Library/Java/JavaVirtualMachines/jdk-22-JavaFX
1.4.2 JavaFX
(Tosin tämä osuus on siinä Intel Mac-videolla valmiina)
Lataa openjfx-21 kohdasta Intel:
macOS/x64/jmods
tai M1:macOS/aarch64/jmods
(ole todella tarkkana että oikea nimi!)Pura hakemistoon
~/devel/javafx-jmods-21
(huom, ei desimaaleja!) niin, että tuon hakemiston alla on tiedostojajavafx.base.jmod
jne...Luodaan komentoriviltä uusi JDK jossa JavaFX mukana (huomaa ottaa koko tuo pitkä jono mukaan ja tarvittaessa tarkista nuo desimaaliosat sen mukaan mikä nykyinen versio on):
cd /Library/Java/JavaVirtualMachines sudo jdk-22.0.2.jdk/Contents/Home/bin/jlink --module-path ~/devel/javafx-jmods-21 --add-modules java.se,jdk.jdwp.agent,javafx.fxml,javafx.web,javafx.media,javafx.swing --bind-services --output jdk-22-JavaFX
Asetetaan käytössä olevaksi Javaksi. Katsotaan ensin mitä shelliä käytät (videolla oli väärä komento):
echo $SHELL
Nyt sen mukaan tuliko
bash
vaizsh
muokkaasudo nano ~/.bash_profile
tai
sudo nano ~/.zshenv
ja sitten lisää sinne alkuun rivi
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-22-JavaFX
ja lopuksi
Ctrl-X
Y
ja kuittaa nimi. (eli paina enter)Sitten vielä niin, että myös Eclipse yms käyttävät samaa JDK:ta
launchctl setenv JAVA_HOME /Library/Java/JavaVirtualMachines/jdk-22-JavaFX
Java polkuun:
sudo nano /etc/paths
lisää ihan ensimmäiseksi riviksi:
/Library/Java/JavaVirtualMachines/jdk-22-JavaFX/bin
Sitten
Ctrl-X
jaY
ja kuittaa nimi. (eli paina enter)Avaa uusi terminaali (pääte) ja kokeile että toimii. Kirjoita komentoriville:
java --list-modules
Tulostuuko komentoriville mm seuraavat?
javafx.base javafx.controls javafx.fxml javafx.graphics javafx.media javafx.swing javafx.web
Asennus takkuilee MacOS M2: "Error: Module javafx.web not found"
VL: Katso onko siellä ~/devel/javafx-jmods-21
alla suoraan tiedosto javafx.web.jmod
, ei muita hakemistoja välissä. Niin ja että se hakeiston nimi on nimenomaan tuo, ilman desimaaleja!
Kokeile myös kohta 2. Käyttäminen komentoriviltä.
1.5 Linux
Linux-käyttäjille on suositeltavaa asentaa JDK käyttöjärjestelmän pakettienhallintatyökalua käyttäen. Arch-pohjaisissa käyttöjärjestelmissä (esim. Manjaro) asennusohjeet löytyvät täältä. Fedoralle puolestaan löytyy asennusohje täältä. Debian pohjaisissa käyttöjärjestelmissä (esim. Ubuntu, Mint, Pop!_OS) JDK:n versio 22 asentuu seuraavalla komennolla:
sudo apt install openjdk-22-jdk
Jos saat virheen:
Unable to locate package openjdk-21-jdk
siirry asentamaan ilman pakettienhallintatyökalua tänne
Tarkista JDK:n asennuksen jälkeen, että asennus toimii:
java -version
javac -version
jlink --version
Kaikkien komentojen tulosteessa tulisi näkyä versiona 22.0.2.
1.5.1 Javan asentaminen ilman pakettienhallintatyökalua
Huom! jos asensit Javan aikaisemmin hyppää tämä kohta yli tänne.
Lataa tarvittavat tiedostot (Linux/X64) täältä tai osoitteesta:
https://jdk.java.net/22/
Tallenna tiedostot vaikka Downloads -kansioon ja pura tar.gz -tiedosto komennolla:
tar xvf openjdk-jdk-22.0.2_linux-x64_bin.tar.gz
Voit tarkistaa että kaikki toimii komennoilla:
./jdk-21.0.1/bin/java --version
./jdk-21.0.1/bin/javac --version
./jdk-21.0.1/bin/jlink --version
Kaikkien komentojen tulosteessa tulisi näkyä versiona 22.0.2.
Jatka kohdasta 1.5.2.
1.5.2 Oman JDK:n luonti
Luodaan seuraavaksi oma versio JDK:sta, joka sisältää kurssilla vaadittavat moduulit. Lataa openjfx-22 kohdasta Linux / x64 / jmods. Ole tarkkana, että lataat varmasti jmods-paketin. Tallenna .zip-tiedosto Downloads
kansioon. Tässä lopullinen tulos tehdään kansioon ~/devel
.
Avaa komentorivi ja siirry kansioon, johon tallensit ladattavan tiedoston. Pura .zip-tiedosto komennolla:
unzip openjfx-22.0.2_linux-x64_bin-jmods.zip
Tarkista, että syntyi kansio javafx-jmods-22.0.2
Luo oma JDK komennolla:
jlink --module-path javafx-jmods-22.0.2 --add-modules java.se,jdk.jdwp.agent,javafx.fxml,javafx.web,javafx.media,javafx.swing --bind-services --output jdk-22-JavaFx
Jos asensit Javan ilman pakettienhallintatyökalua, varmista että olet kansiossa jossa on jdk-22.0.2 sekä javafx-jmods-22.0.2 ja aja komento:
./jdk-22.0.2/bin/jlink --module-path javafx-jmods-22.0.2 --add-modules java.se,jdk.jdwp.agent,javafx.fxml,javafx.web,javafx.media,javafx.swing --bind-services --output jdk-22-JavaFx
Siirrä ~/devel
-kansioon:
mkdir ~/devel # jollei vielä ole
mv jdk-22-JavaFx ~/devel/
1.5.3 Oman JDK:n käyttöönotto
Eri Linux-käyttöjärjestelmissä on eri ratkaisuja eri Java-versioiden hallintaan. Tässä esimerkissä opastetaan Java-versioiden hallinta vain Debian pohjaisissa käyttöjärjestelmissä (muille ks. ohjeet kohdasta 1.5 Linux).
Debian pohjaisissa käyttöjärjestelmissä Javan eri versioita voidaan hallita komennolla update-alternatives. Lisätään aluksi oma JDK:
sudo update-alternatives --install /usr/bin/java java ~/devel/jdk-22-JavaFx/bin/java 100
sudo update-alternatives --install /usr/bin/javac javac ~/devel/jdk-22-JavaFx/bin/javac 100
Jos asensit oman JDK:n eri hakemistoon kuin ~/devel
, vaihda komentojen polku vastaamaan valitsemaasi asennuspolkua.
Vaihdetaan seuraavaksi komennot java
ja javac
osoittamaan juuri lisättyyn JDK:n versioon komennolla:
sudo update-alternatives --config java
Komennon tuloste on suunnilleen seuraava:
There are 5 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 auto mode
1 /home/user/devel/jdk-17-JavaFx/bin/java 100 manual mode
2 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode
3 /usr/lib/jvm/java-16-openjdk-amd64/bin/java 1611 manual mode
4 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 manual mode
5 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode
Press <enter> to keep the current choice[*], or type selection number:
Tarkista, että kurssin JDK löytyy listasta ja syötä komentoriville sitä vastaava numero (ks. vasen laita). Seuraavaksi anna komento:
sudo update-alternatives --config javac
Syötä taas kurssin JDK:ta vastaava numero.
Voit vaihtaa käytössä olevaa Javan versiota samalla komennolla:
sudo update-alternatives --config [ohjelman nimi]
ja valita haluamasi version. Myös muissa Linux-käyttöjärjestelmissä on samanlaisia työkaluja. Arch pohjaisissa käyttöjärjestelmissä työkalun nimi on archlinux-java
ja fedorassa vastaava työkalu on nimeltään alternatives
. Molempiin löytyy ohjeet aiemmin mainituista asennusohjeista.
1.5.4 Mistä tiedän että toimii
Komennot toimivat riippumatta kummalla tavalla asensit javan.
java -version
javac -version
molempien pitäisi näyttää 22.0.2
java --list-modules
Tulostuuko komentoriville mm seuraavat?
javafx.base
javafx.controls
javafx.fxml
javafx.graphics
javafx.media
javafx.swing
javafx.web
Nyt voit periaattessa poistaa Downloads-kansiosta kaikki mitä sinne tuli tämän takia jos tilasta on pulaa.
2. Käyttäminen komentoriviltä
Seuraavissa esimerkeissä käynnistetään tekstieditori. Sen kohdalla voit toki käynnistää muunkin editorin kuin ohjeessa on.
Editorilla on tarkoitus kirjoittaa tiedosto, jonka sisältö on:
// Ohjelma tulostaa tekstin Hello world!
public class Eka {
public static void main(String[] args) {
System.out.println("Hello world!");
}
}
Eli esimerkkien siinä kohdassa kun muokataan tiedostoa Eka.java
, kirjoita tämä sisältö.
2.1 Windows
Esimerkiksi Windowsista puuttuu kokonaan nykyhakemiston käsite. Siksi on huomattavasti helpompi käyttää konetta kun pitää aina vähintään yhden Command Prompt (tai BashShell, silloin lue Linux-ohjeita)-ikkunan auki ja käynnistää ohjelmat siitä.
Kannattaa tehdä itselleen yksi hakemisto, joka on ohjelmien hakupolussa ja johon kaikki tarvitavat apuohjelmat lisätään. Itselläni tuo apuhakemisto on aina
c:\bat
ja yllä JDK:n kohdalla on ohje kuinka hakemisto lisätään hakupolkuun WindowsXP/W7/W8/W10
-järjestelmässä. Agoran mikroluokissa vastaava polku onn:\bin
.Jos halutaan työskennellä jossakin tietyssä hakemistossa, siirrytään Command promptissa ensin cd-komennoilla haluttuun työhakemistoon. Näin menetellen ja edellisten ohjeiden jälkeen ohjelmat käynnistyvät komentoriviltä seuraavasti: (// ja sen jälkeinen osa ovat kommenttia jota ei kirjoiteta
npp
tilalla voit käytätä muutakin editoria, esimcode
):cd c:\kurssit // siirrytään kurssit-hakemistoon mkdir ohj2 // luodaan uusi ohj2-hakemisto cd ohj2 mkdir demo1 cd demo1 // siirrytään demo1-hakemistoon ... cd c:\kurssit\ohj2\demo1 // siirrytään suoraan demo1 hakemistoon jos tämä on olemassa npp Eka.java // käynnistää Notepad++ editorin ja avaa tai luo uuden Eka.java -tiedoston javac Eka.java // käännetään Java-tiedosto java Eka // ajetaan Java-ohjelma ...
Komentorivillä on kätevä täydennysominaisuus. Esimerkkejä käytöstä:
cd c:\ku[Tab] => cd c:\kurssit ja[F8] => hakee edellisen ja-alkavan komennon, esim. java Eka
Joskus myöhemmin lue: Debuggaus komentoriviltä
Mitä tuo nykyhakemistoproblematiikka tarkoittaa?
- VL: sitä että et voi määritellä että nyt kaikki ohjelmat käynistyvat esim hakemistoon ohj2, vaan kukin ohjelman käynistyy ihan minne lystää.
Asensin Notepad 7.8.2 64-bittisen ja kokeilin komentoriviltä tuota mutta tuli ilmoitus että npp is not recognized
VL: Ei toimikkaan ellet itse tee vastaavia komentoja: Käynistys komentoriviltä
Jos ei halua tehdä npp.bat tiedostoa, niin voi käyttää alla olevaa pätkää: "start notepad++ tiedoston nimi"
VL: Tuo vaatii että tuo notepad++:n polku on lisätty PATH-ympäristömuuttujaan. En pidä järkevänä että yksittäisten exe-tiedostojen takia polkua pidennetään. Siksi teen noita pikku bat-tiedostoja, jotka ovat sitten yhden polun takana jotta PATH ei pitene. PATH nimittäin loppuu usein kesken :-( Ja kone hidastaa mitä pidempi PATH on. Ohjelmat valitettavan usein työtävät itseään turhaan PATHiin vaikkei tarvitsisi.
—Miksi npp vaatii tuon pathin tai .bat tiedoston mutta Vs Code ei?
VL: VS Coden asennus lisäsi itsensä polkuun. Ja siis teki juuri sen mistä tuolla aikaisemmin varoitin.
—2.2 macOS
Tee kotihakemistoosi hakemisto (kansio)
kurssit
ja sen alle hakemistoohj2
, johon teet kaikki ohjelmasi omiin hakemistoihinsa. Hakemistot voit tehdä Finderissa GUI:lla tai komentoriviltä komennollamkdir
. Muista, että hakemistoerotin on macOS:ssä Unixin mukainen kauttaviiva/
!cd ~ # siirrytään kotihakemistoon mkdir -p kurssit/ohj2/demo1 # luodaan demo-hakemisto cd kurssit/ohj2/demo1 # siirrytään demo-hakemistoon nano Eka.java # käynnistää nano editorin ja avaa tai luo Eka.java, kirjoita sisältö # ja sitten Ctrl-X, Y, ja kuittaa nimi javac Eka.java # käännetään Java-tiedosto java Eka # ajetaan Java-ohjelma
aikanaan voi Eclipsen käynnistää:
open -a eclipse # käynnistetään Eclipse IDE
Voit käyttää
kurssit
-hakemiston tilalla esimopinnot
-hakemistoa, jos se tuntuu tutummalta.Emacsin GUI-versiossa menut toimivat kuten olettaa sopii, ”komentoriviversiossa” menut aktivoituvat
F10
-näppäimellä.Nimen täydennys toimii sarkaimella (Tab) kuten Windowsissa, mutta jos ensimmäisen painalluksen jälkeen ei täydennystä ilmesty, paina sarkainta toisen kerran, jolloin kaikki vaihtoehdot listataan komentorivin yläpuolelle. Aiemmat komennot löytyvät kursorinäppäimillä ylös ja alas, ja niitä voi etsiä näppäilemällä
C-r
eli r-näppäincontrol
-näppäin alaspainettuna, jonka jälkeen aletaan kirjoittamaan etsittävää tekstiä,C-r
uudelleen painaminen etsii edeltävän jaC-g
keskeyttää etsimisen. Kursorinäppäimet lopettavat etsimisen ja rivinvaihto suorittaa löydetyn komennon. (Innokkaimmat voivat lukea lisää antamalla komennonman bash
.)Emacsin graafinen versio löytyy osoitteesta: http://emacsformacosx.com Asennuksen jälkeen voit aukaista Emacsiin komentorivin komennolla
M-x eshell <ret>
, eli paina esc-näppäintä, sitten x-näppäintä, kirjoita eshell ja paina rivinvaihto-näppäintä, ja Emacsissa on komentorivi käytössä. Sama toimii komentoriviversiossa, joka tulee oletuksena käyttöjärjestelmän mukana, mutta on tympeämpi käyttää.
2.3 Linux
Luodaan kurssille hakemisto, jonka alle saa kätevästi kaikki demot ja harkkatyön. Tehdään yksinkertainen Java-ohjelma:
cd ~ # siirrytään kotihakemistoon
mkdir -p kurssit/ohj2/demo01 # luodaan demokansio
cd kurssit/ohj2/demo01 # siirrytään demokansioon
gedit Eka.java # kirjoitetaan java-ohjelma
javac Eka.java # käännetään tavukoodiksi (.class)
java Eka # ajetaan virtuaalikoneessa (JVM)
Ubuntussa ja muissa GNOME-työpöydän omaavissa distroissa tulee mukana gedit-tekstieditori. Voit myös käyttää Geditin tilalla jotain muuta tekstieditoria (Emacs, Vim, Geany, Visual Studio Code, Nano).
3. Ongelmia
Jos asennettaessa tulee virheilmoitus:
Another Java installation is in progress.
You must complete that installation
before you can run this installer
niin tuhoa tiedostot:
C:\ProgramData\Oracle\Java\JAVA_INSTALL_FLAG
%USERPROFILE%\AppData\LocalLow\Sun\Java\JAVA_INSTALL_FLAG
4. Epätoivoisia Mac-linkkejä
- https://stackoverflow.com/questions/46412164/jdk-9-mac-os-jlink
- https://stackoverflow.com/questions/64788005/java-jdk-for-the-apple-m1-chip
- https://brew.sh/index_fi
- https://docs.brew.sh/Installation
- https://wiki.carleton.edu/display/carl/Installing+JavaFX+on+Personal+Machines
- https://developer.apple.com/library/archive/qa/qa1170/_index.html
- https://stackoverflow.com/questions/15120745/understanding-oracles-java-on-mac
These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.