{"id":900,"date":"2018-09-06T07:38:50","date_gmt":"2018-09-06T04:38:50","guid":{"rendered":"https:\/\/coursepages.uta.fi\/tiep1\/?page_id=900"},"modified":"2018-09-13T15:43:46","modified_gmt":"2018-09-13T12:43:46","slug":"java-jdk","status":"publish","type":"page","link":"https:\/\/coursepages2.tuni.fi\/tiep1\/syksy-2018\/ohjelmointivalineita\/java-jdk\/","title":{"rendered":"Java JDK"},"content":{"rendered":"<p>Java-ohjelmointiin kotikoneella tarvitaan Java-k\u00e4\u00e4nt\u00e4j\u00e4 ja -tulkki (java- ja javac-ohjelmat). N\u00e4m\u00e4 kuuluvat ilmaiseen ohjelmistoon, joka tunnetaan nimell\u00e4 <strong>Java Development Kit<\/strong> <strong>(JDK)<\/strong>. JDK on asennettu valmiiksi sek\u00e4 mikroluokkien koneille ett\u00e4 luonnontieteiden tiedekunnan yliopiston <em>Shell<\/em>-palvelimelle.<\/p>\n<p>Vaikka kotikoneellasi on todenn\u00e4k\u00f6isesti valmiina <strong>Java Runtime Environment (JRE)<\/strong>, joudut asentamaan my\u00f6s JDK:n, koska JRE:st\u00e4 puuttuu Java-k\u00e4\u00e4nt\u00e4j\u00e4.<\/p>\n<p>Alla annetut asennusohjeet on pyritty kirjoittamaan mahdollisimman pitk\u00e4lti k\u00e4ytt\u00f6j\u00e4rjestelm\u00e4st\u00e4 riippumattomiksi, vaikka esimerkkin\u00e4 k\u00e4ytet\u00e4\u00e4n Windows-j\u00e4rjestelm\u00e4\u00e4.<\/p>\n<p class=\"bodytext\"><span class=\"bodytext\">Applen oma versio Javasta on asennettu valmiiksi Mac OS X k\u00e4ytt\u00f6j\u00e4rjestelm\u00e4n versioon 10.6 saakka. Uudempiin OS X -versioihin Java on asennettava itse. Asennettavaksi suositellaan uusinta Oraclen Javaa, jotka n\u00e4m\u00e4 ohjeet k\u00e4sittelev\u00e4t. Macista ja Javasta on kerrottu lis\u00e4\u00e4 <a class=\"bodytext\" href=\"https:\/\/www.java.com\/en\/download\/faq\/java_mac.xml\" target=\"_blank\" rel=\"noopener\">Oraclen sivuilla<\/a>. Huomaa kuitenkin, ett\u00e4 <strong>Oraclen Mac-sivujen<\/strong> <strong>asennuslinkit johtavat JRE:n asennukseen<\/strong>.<\/span><span class=\"bodytext\"><br \/>\n<\/span><\/p>\n<h2>Onko JDK jo koneellani?<\/h2>\n<p>Voit tarkistaa onko koneellasi jo JDK antamalla <a href=\"https:\/\/coursepages2.tuni.fi\/tiep1\/syksy-2018\/ohjelmointivalineita\/komentoikkuna\/\">komentoikkunassa<\/a> komenton <em>javac -help<\/em>. JDK on asennettu, jos ikkunaan tulostuu lyhyt k\u00e4ytt\u00f6ohje, joka on Windows 7 -k\u00e4ytt\u00f6j\u00e4rjestelm\u00e4ss\u00e4 t\u00e4m\u00e4n tapainen:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.sis.uta.fi\/~laki1\/kuvat\/javac_help.png\" alt=\"Java-k\u00e4\u00e4nt\u00e4j\u00e4n ohjetuloste\" \/><\/p>\n<h2>Onko JDK riitt\u00e4v\u00e4n uusi?<\/h2>\n<p>Kurssilla k\u00e4ytet\u00e4\u00e4n Javaa, jonka versio on v\u00e4hint\u00e4\u00e4n <em>1.8.0<\/em>. Voit tarkistaa Java-versiosi komennolla <em>java -version<\/em>. Vanhassa Windows-koneessa komento tulostaa esimerkiksi seuraavaa:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.sis.uta.fi\/~laki1\/kuvat\/javac_version.png\" alt=\"Java-tulkin versio\" \/><\/p>\n<p>Komennon j\u00e4lkeinen rivi kertoo version (edell\u00e4 &#8221;1.6.0_27&#8221;). Mik\u00e4li koneellasi on kovin vanha Java, kuten t\u00e4ss\u00e4 tapauksessa, t\u00e4ytyy koneelle asentaa uudempi versio jo tietoturvasyist\u00e4.<\/p>\n<p>Jos kaikki teksti ei mahtunut Windowsin komentoikkunaan ja versiotieto katosi samalla, niin kannattaa <a href=\"https:\/\/coursepages2.tuni.fi\/tiep1\/syksy-2018\/ohjelmointivalineita\/komentoikkuna\/\">kasvattaa komentoikkunan pituutta<\/a>.<\/p>\n<h2><a name=\"tietoturva\"><\/a>Onko Java tietoturvariski?<\/h2>\n<p>Kyll\u00e4. Javasta on l\u00f6ydetty hy\u00f6kk\u00e4yksen mahdollistavia virheit\u00e4. Javaa voi kuitenkin k\u00e4ytt\u00e4\u00e4 huoletta kurssin ohjelmointiteht\u00e4viin, koska suurimmat ongelmat liittyiv\u00e4t Javan verkkoselaimeen asentamaan lis\u00e4osaan, jonka toiminnan uudemmat selaimet est\u00e4v\u00e4t, jos Javan versio on liian vanha. Javan lis\u00e4osa ei toimi uusissa Chrome-selaimissa ollenkaan.<\/p>\n<p>Tietoturvasi voi vaarantua vain, jos selaat ep\u00e4m\u00e4\u00e4r\u00e4isi\u00e4 verkkosivuja vanhemmalla selaimella, jossa on Javan lis\u00e4osa. Yleisimmiss\u00e4 selaimissa <a href=\"https:\/\/www.java.com\/en\/download\/help\/disable_browser.xml\" target=\"_blank\" rel=\"noopener\">Java-lis\u00e4osan voi poistaa<\/a> k\u00e4yt\u00f6st\u00e4 melko pienell\u00e4 vaivalla.<\/p>\n<p>Omalle koneelle kannattaa p\u00e4ivitt\u00e4\u00e4 s\u00e4\u00e4nn\u00f6llisesti Javan uusin versio, koska uusimmassa versiossa on korjattu aiemmissa versioissa ilmenneit\u00e4 haavoittavuuksia.<\/p>\n<h2>Java JDK:n asennus kotikoneelle<\/h2>\n<p>Siirry <a href=\"http:\/\/www.oracle.com\/technetwork\/java\/javase\/downloads\/jdk10-downloads-4416644.html\" target=\"_blank\" rel=\"noopener\">uusimman JDK:n lataussivulle<\/a> (versio 10.0.2) ja valitse listasta koneelle ja k\u00e4ytt\u00f6j\u00e4rjestelm\u00e4lle sopiva JDK. Java 9 tai 10 ei ole saatavilla 32-bittisille koneille, joille on asennettava <a href=\"http:\/\/www.oracle.com\/technetwork\/java\/javase\/downloads\/jdk8-downloads-2133151.html\" target=\"_blank\" rel=\"noopener\">Java 8 JDK<\/a>.<\/p>\n<p><a href=\"https:\/\/docs.oracle.com\/javase\/10\/install\/installation-jdk-and-jre-microsoft-windows-platforms.htm#JSJIG-GUID-DAF345BA-B3E7-4CF2-B87A-B6662D691840\" target=\"_blank\" rel=\"noopener\">JDK:n asennusohjeet Windowsiin<\/a> samoin kuin <a href=\"https:\/\/docs.oracle.com\/javase\/10\/install\/overview-jdk-10-and-jre-10-installation.htm#JSJIG-GUID-8677A77F-231A-40F7-98B9-1FD0B48C346A\" target=\"_blank\" rel=\"noopener\">ohjeet muihin j\u00e4rjestelmiin<\/a> ovat valitettavasti saatavilla vain englanniksi. Asennus onnistuu kuitenkin, kun huomaa, ett\u00e4 kielen muuttuessa useimpien k\u00e4ytt\u00f6j\u00e4rjestelmien valikoiden ja ikkunoiden rakenne pysyy samana.<\/p>\n<h2><a name=\"javac_ei_kaynnisty\"><\/a>Java-k\u00e4\u00e4nt\u00e4j\u00e4 (javac) ei k\u00e4ynnisty?<\/h2>\n<p>Tarkista aluksi, ett\u00e4 olet varmasti asentanut JDK:n. <strong>JDK ja JRE on helppo sekoittaa kesken\u00e4\u00e4n<\/strong>. Windows kertoo hukassa olevasta k\u00e4\u00e4nt\u00e4j\u00e4st\u00e4 n\u00e4in:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.sis.uta.fi\/~laki1\/kuvat\/javac_missing.png\" alt=\"Java-k\u00e4\u00e4nt\u00e4j\u00e4 hukassa\" \/><\/p>\n<p>Jos JDK on asennettu ja k\u00e4\u00e4nt\u00e4j\u00e4 ei l\u00f6ydy, niin syy on todenn\u00e4k\u00f6isesti <em>PATH<\/em>-ymp\u00e4rist\u00f6muuttujassa eli niin sanotussa <strong>polussa<\/strong>, joka pit\u00e4\u00e4 p\u00e4ivitt\u00e4\u00e4 Windows-j\u00e4rjestelmiss\u00e4. T\u00e4m\u00e4n muuttujan tulisi p\u00e4ivitty\u00e4 automaattisesti Mac-j\u00e4rjestelm\u00e4\u00e4n ja paketinhallinnalla Linux-j\u00e4rjestelm\u00e4\u00e4n Javaa asennettaessa.<\/p>\n<p>Komentoikkunassa k\u00e4ytt\u00f6j\u00e4rjestelm\u00e4n toiminnot (esimerkiksi Windowsissa <em>dir<\/em>-komento) ovat saatavilla ilman lis\u00e4toimia, mutta kaikki muut ohjelmat suoritetaan ilman tarkempaa hakemiston m\u00e4\u00e4rittely\u00e4 vain, mik\u00e4li ohjelmatiedoston sis\u00e4lt\u00e4v\u00e4 hakemisto on mukana <em>PATH<\/em>-muuttujassa.<\/p>\n<p>JDK:n Windows-version asennusohjeiden <em>Setting the PATH Environment Variable <\/em>-luku kertoo kuinka ymp\u00e4rist\u00f6muuttujaa tulisi muuttaa ja my\u00f6s kuinka toimia, jos ymp\u00e4rist\u00f6muuttujan arvoa ei halua syyst\u00e4 tai toisesta muuttaa.<\/p>\n<p><strong>Polkuohjeiden tiivistelm\u00e4 suomeksi Windows 7 -k\u00e4ytt\u00f6j\u00e4rjestelm\u00e4lle<\/strong><\/p>\n<p class=\"sisennys\">K\u00e4ynnist\u00e4 aluksi yll\u00e4pit\u00e4j\u00e4n\u00e4 (admin) ohjauspaneeli valitsemalla <em>Start<\/em> | <em>Control Panel <\/em>(suomeksi:<em>Aloita | Ohjauspaneeli). <\/em>Windows 8:ssa ja 10:ss\u00e4 ohjauspaneelin on helpointa k\u00e4ynnist\u00e4\u00e4 hakutoiminnon avulla. Valitse sitten <em>System and Security <\/em>| <em>System<\/em> | <em>Advanced<\/em> <em>system settings<\/em> (suomeksi: <em>J\u00e4rjestelm\u00e4 ja Suojaus<\/em> | <em>J\u00e4rjestelm\u00e4<\/em> | <em>J\u00e4rjestelm\u00e4n lis\u00e4asetukset<\/em>):<\/p>\n<p class=\"sisennys\"><img decoding=\"async\" src=\"http:\/\/www.sis.uta.fi\/~laki1\/kuvat\/system_advanced_tab.png\" alt=\"Advanced-v\u00e4lilehti\" \/><\/p>\n<p>ja klikkaa <em>Environment Variables <\/em>(<em>Ymp\u00e4rist\u00f6muuttujat<\/em>) -nappia. T\u00e4ll\u00f6in avautuu uusi ikkuna:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.sis.uta.fi\/~laki1\/kuvat\/environment_variables_dialog.png\" alt=\"Environment Variables -dialogi\" width=\"392\" height=\"436\" \/><\/p>\n<p>jonka <em>System<\/em>-listasta pit\u00e4\u00e4 etsi\u00e4 ja valita <em>Path<\/em>-tekstill\u00e4 alkava rivi. Kun oikea rivi on valittu, pit\u00e4\u00e4 klikata <em>Edit<\/em>-nappia, joka avaa n\u00e4yt\u00f6lle viel\u00e4 yhden ikkunan:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.sis.uta.fi\/~laki1\/kuvat\/edit_system_variable.png\" alt=\"Edit System Variable -ikkuna\" \/><\/p>\n<p>T\u00e4ss\u00e4 ikkunassa on ment\u00e4v\u00e4 <em>Variable value<\/em> -tekstikent\u00e4n loppuun, jonne lis\u00e4t\u00e4\u00e4n ensin puolipiste ja sitten hakemisto, jossa <em>javac<\/em>-ohjelma on.<\/p>\n<p><strong>Uudemmissa Windowseissa polun muodostavien hakemistojen hallinta on helpompaa, koska <em>Edit<\/em>-nappi avaa taulukon, jossa polun muodostavat hakemistot ovat alekkain<\/strong>. Windows 8 ja 10 -j\u00e4rjestelmiss\u00e4 taulukon loppuun lis\u00e4t\u00e4\u00e4n uusi rivi, jolle lis\u00e4t\u00e4\u00e4n <em>javac<\/em>:n hakemisto.<\/p>\n<p>Java-ohjelmat l\u00f6ytyv\u00e4t yleens\u00e4 hakemistosta <em>C:\\Program Files\\Java<\/em>, jossa voi olla muutaman tai jopa useamman Java-asennuksen alihakemistot:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.sis.uta.fi\/~laki1\/kuvat\/c_program_files_java.png\" alt=\"JDK-hakemistot\" width=\"559\" height=\"468\" \/><\/p>\n<p>Alihakemistoista pit\u00e4\u00e4 valita <em>jdk<\/em>-alkuinen hakemisto, jonka nimess\u00e4 on sama versionumero on kuin asentamasi Javassa. (Yleens\u00e4 viimeisen asennuksen versionumero on suurin.) Edell\u00e4 valittaisiin <em>jdk1.6.0_27<\/em>. Kun oikea alihakemisto on tunnistettu, haetaan viel\u00e4 <em>bin<\/em>-alihakemisto:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.sis.uta.fi\/~laki1\/kuvat\/c_program_files_java_jdk1.6.0_27_bin.png\" alt=\"bin-alihakemisto\" \/><\/p>\n<p>ja tarkistetaan, ett\u00e4 siell\u00e4 on <em>javac.exe<\/em>-tiedosto.<\/p>\n<p>Java-k\u00e4\u00e4nt\u00e4j\u00e4n hakemisto olisi siis t\u00e4ss\u00e4 esimerkiss\u00e4 <em>C:\\Program Files\\Java\\jdk1.6.0_27\\bin<\/em>.<\/p>\n<p>Hakemiston lis\u00e4yksen yhteydess\u00e4 polusta on syyt\u00e4 poistaa siihen mahdollisesti aiemmin lis\u00e4tyt Java-hakemistot, jotta k\u00e4ytt\u00f6j\u00e4rjestelm\u00e4 l\u00f6yt\u00e4\u00e4 nimenomaan kaikkein uusimman Javan. <strong>Ole varovainen, kun muokkaat polkua<\/strong>, koska polun alussa olevat hakemistot ovat t\u00e4rkeit\u00e4 k\u00e4ytt\u00f6j\u00e4rjestelm\u00e4lle. Kirjoitusvirheet on helpointa v\u00e4ltt\u00e4\u00e4 oikein kopioimalla ja liimaamalla hakemiston nimi.<\/p>\n<p>Uusi polun arvo hyv\u00e4ksyt\u00e4\u00e4n klikkaamalla kussakin ikkunassa <em>OK<\/em>-nappia.<\/p>\n<p>Lopuksi pit\u00e4\u00e4 muistaa avata <strong>uusi<\/strong> komentoikkuna, koska ymp\u00e4rist\u00f6muuttujien muutokset eiv\u00e4t p\u00e4ivity avoimiin komentoikkunoihin.<\/p>\n<h2><a name=\"javac_ei_kaynnisty\"><\/a>Java-tulkki (java) ei suorita ohjelmaa?<\/h2>\n<p>Joskun JDK:n asennuksen k\u00e4y joskus siten, ett\u00e4 asennuksen j\u00e4lkeen <em>java<\/em>-ohjelma k\u00e4ynnistyy, mutta ei osaa suorittaa ohjelmaa. T\u00e4ll\u00f6in n\u00e4yt\u00f6lle tulostuu esimerkiksi <em>HelloWorld<\/em>-ohjelmaa suoritettaessa ilmoitus <em>Error: Could not find or load main class HelloWorld<\/em>. Huomaa, ett\u00e4 Java-tulkki tulostaa t\u00e4m\u00e4 ilmoituksen tai <em>Exception in thread &#8221;main&#8221; java.lang.NoClassDefFoundError: <\/em>my\u00f6s, mik\u00e4li kirjoitat suorituskomennon v\u00e4\u00e4rin.<\/p>\n<p>Jos olet aivan varma, ett\u00e4 olet k\u00e4skytt\u00e4nyt <em>java<\/em>-ohjelmaa oikein, niin syyp\u00e4\u00e4 on luultavasti <em>CLASSPATH<\/em>-ymp\u00e4rist\u00f6muuttuja. <em>CLASSPATH<\/em>-muuttuja m\u00e4\u00e4rittelee hakemistot, joista Java-tulkki hakee tavukoodia eli k\u00e4\u00e4nnetty\u00e4 l\u00e4hdekoodia. Jos hakemistoista puuttuu ty\u00f6hakemisto eli hakemisto, jossa ajokomento annetaan, tulkki ei l\u00f6yd\u00e4 ajettavaa ohjelmaa.<\/p>\n<p><a href=\"http:\/\/docs.oracle.com\/javase\/8\/docs\/technotes\/tools\/windows\/classpath.html#BEHCGBFB\" target=\"_blank\" rel=\"noopener\">Windowsin<em> CLASSPATH<\/em>-muuttuja<\/a> voidaan p\u00e4ivitt\u00e4\u00e4 Windows 7 -k\u00e4ytt\u00f6j\u00e4rjestelm\u00e4ss\u00e4 samalla tavoin kuin <a href=\"#javac_ei_kaynnisty\"><em>PATH<\/em>-muuttuja<\/a>. Kun l\u00f6yd\u00e4t <em>CLASSPATH<\/em>-alkuisen rivin ja painat <em>Edit<\/em>-nappia, niin lis\u00e4\u00e4 <em>Variable value<\/em> -tekstikent\u00e4n alkuun ty\u00f6hakemistoa symboloiva piste ja erota se puolipisteell\u00e4 seuraavasta hakemistosta, jos sellainen on:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.sis.uta.fi\/~laki1\/kuvat\/environment_variables_dialog_edited_classpath.png\" alt=\"CLASSPATH-ymp\u00e4rist\u00f6muuttuja\" width=\"356\" height=\"152\" \/><\/p>\n<p>Klikkaa lopuksi kussakin ikkunassa <em>OK<\/em>-nappia ja avaa <strong>uusi<\/strong> komentoikkuna, koska ymp\u00e4rist\u00f6muuttujien muutokset eiv\u00e4t p\u00e4ivity avoimiin komentoikkunoihin.<\/p>\n<p><em>CLASSPATH<\/em>-ymp\u00e4rist\u00f6muuttujan voi my\u00f6s poistaa sen muokkaamisen sijasta, koska suositeltavampi tapa polkujen m\u00e4\u00e4rittelyyn on <em>java<\/em>-ohjelman <em>classpath<\/em>-parametri, josta on kerrottu tarkemmin luentorungossa. Ennen poistamista on kuitenkin oltava t\u00e4ysin varma, ett\u00e4 mik\u00e4\u00e4n ohjelma ei tarvitse t\u00e4t\u00e4 ymp\u00e4rist\u00f6muuttujaa; <em>CLASSPATH<\/em>-muuttuja luodaan useimmiten jonkin Javaa k\u00e4ytt\u00e4v\u00e4n ohjelman asennuksen yhteydess\u00e4.<\/p>\n<h2>JDK:n k\u00e4ytt\u00f6ohjeet<\/h2>\n<p>Oraclen Java-sivuilta l\u00f6ytyy sek\u00e4 ty\u00f6kalujen <a href=\"http:\/\/docs.oracle.com\/javase\/8\/docs\/technotes\/tools\/index.html#basic\" target=\"_blank\" rel=\"noopener\">k\u00e4ytt\u00f6ohjeita<\/a> ett\u00e4 itse Java-kielen <a href=\"http:\/\/docs.oracle.com\/javase\/8\/docs\/api\/\" target=\"_blank\" rel=\"noopener\">API-dokumentaatio<\/a>.<\/p>\n<p>Lyhyet tulkin ja k\u00e4\u00e4nt\u00e4j\u00e4n k\u00e4ytt\u00f6ohjeet saa tulostumaan n\u00e4yt\u00f6lle antamalla komentona pelk\u00e4n ohjelman nimen (javac tai java).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Java-ohjelmointiin kotikoneella tarvitaan Java-k\u00e4\u00e4nt\u00e4j\u00e4 ja -tulkki (java- ja javac-ohjelmat). N\u00e4m\u00e4 kuuluvat ilmaiseen ohjelmistoon, joka tunnetaan nimell\u00e4 Java Development Kit (JDK). JDK on asennettu valmiiksi sek\u00e4 mikroluokkien koneille ett\u00e4 luonnontieteiden tiedekunnan yliopiston Shell-palvelimelle. Vaikka kotikoneellasi on todenn\u00e4k\u00f6isesti valmiina Java Runtime Environment (JRE), joudut asentamaan my\u00f6s JDK:n, koska JRE:st\u00e4 puuttuu Java-k\u00e4\u00e4nt\u00e4j\u00e4. Alla annetut asennusohjeet on pyritty kirjoittamaan &hellip; <a href=\"https:\/\/coursepages2.tuni.fi\/tiep1\/syksy-2018\/ohjelmointivalineita\/java-jdk\/\" class=\"more-link\">Jatka artikkeliin <span class=\"screen-reader-text\">Java JDK<\/span><\/a><\/p>\n","protected":false},"author":6,"featured_media":0,"parent":876,"menu_order":1,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-900","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/coursepages2.tuni.fi\/tiep1\/wp-json\/wp\/v2\/pages\/900","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/coursepages2.tuni.fi\/tiep1\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/coursepages2.tuni.fi\/tiep1\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/coursepages2.tuni.fi\/tiep1\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/coursepages2.tuni.fi\/tiep1\/wp-json\/wp\/v2\/comments?post=900"}],"version-history":[{"count":6,"href":"https:\/\/coursepages2.tuni.fi\/tiep1\/wp-json\/wp\/v2\/pages\/900\/revisions"}],"predecessor-version":[{"id":976,"href":"https:\/\/coursepages2.tuni.fi\/tiep1\/wp-json\/wp\/v2\/pages\/900\/revisions\/976"}],"up":[{"embeddable":true,"href":"https:\/\/coursepages2.tuni.fi\/tiep1\/wp-json\/wp\/v2\/pages\/876"}],"wp:attachment":[{"href":"https:\/\/coursepages2.tuni.fi\/tiep1\/wp-json\/wp\/v2\/media?parent=900"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}