module-info.java
Määritä moduuli.
module-info.java on ilmainen Java Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Java Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Java Academy-kurssilla on yhteensä 4 oppituntia.
Moduulijärjestelmä
Java Platform Module System (JPMS), joka otettiin käyttöön Java 9:ssä, mahdollistaa pakettien ryhmittelyn nimetyiksi moduuleiksi, joilla on eksplisiittiset riippuvuudet ja rajat.
Määritys sijaitsee erityisessä tiedostossa: module-info.java.
Miksi moduuleja
Ennen moduuleja classpath oli litteä, rakenteeton JAR-tiedostojen kokoelma. Kuka tahansa saattoi käyttää mitä tahansa julkista luokkaa, ja puuttuvat riippuvuudet havaittiin vasta ajon aikana.
Moduulit lisäävät vahvan kapseloinnin ja luotettavan konfiguraation, jotka tarkistetaan käännös- ja käynnistyshetkellä.
Missä module-info sijaitsee
module-info.java sijaitsee lähdepuun juuressa, pakettihakemistojen yläpuolella. Se käännetään moduulin juureen sijoitettavaksi tiedostoksi module-info.class.
Moduulia kohden on täsmälleen yksi tällainen tiedosto.
Minimaalinen määritys
Yksinkertaisimmassa moduulissa on vain nimi. Nimet muodostetaan käytännön mukaan käänteisen DNS-nimeämisen perusteella, kuten pakettien nimet.
module com.example.app {
}Riippuvuuden ilmoittaminen
Käytä määritystä requires, kun haluat ilmoittaa riippuvuuden toisesta moduulista. Jokainen moduuli edellyttää implisiittisesti moduulia java.base, joten sitä ei tarvitse koskaan ilmoittaa.
module com.example.app {
requires java.sql;
requires java.logging;
}Paketin näkyväksi tekeminen
Oletusarvoisesti moduulin paketit ovat piilotettuja. Käytä määritystä exports, jotta paketin julkiset tyypit tulevat näkyviksi muille moduuleille.
module com.example.app {
exports com.example.app.api;
}Vahva kapselointi
Kaikki paketit, joita ette export-direktiivillä vie, ovat täysin saavuttamattomissa ulkopuolelta, myös niiden julkiset luokat. Tämä on suuri ero classpath-maailmaan verrattuna.
Sisäiset paketit pysyvät sisäisinä JVM:n valvonnassa.
Moduulien nimeämissäännöt
Moduulien nimet noudattavat samoja leksikaalisia sääntöjä kuin paketit: pisteillä eroteltuja tunnisteita. Valitkaa vakaa ja maailmanlaajuisesti yksikäsitteinen nimi, koska muut moduulit riippuvat siitä nimen perusteella.
Moduulin nimeäminen uudelleen rikkoo sitä käyttävät moduulit.
Täydellisempi esimerkki
Todellinen määritys yhdistää requires- ja exports-direktiivit. Tämä moduuli riippuu lokikirjastosta ja tuo näkyviin vain julkisen API-pakettinsa.
module com.example.orders {
requires java.logging;
requires com.example.payments;
exports com.example.orders.api;
}Moduulin kääntäminen
Kääntäminen tapahtuu moduulit huomioivilla valitsimilla. --module-source-path- ja -d-valitsimet kertovat kääntäjälle, missä lähdekoodi ja tulosteet sijaitsevat.
javac -d out --module-source-path src $(find src -name '*.java')java --module-path out --module com.example.app/com.example.app.Main
Moduulipolku
Moduulit ratkaistaan moduulipolusta (--module-path), joka on classpathin modulaarinen seuraaja. Käynnistysohjelma lukee kunkin moduulin kuvauksen ja muodostaa riippuvuusgraafin ennen ohjelman käynnistämistä.
Pikatarkistus
Palauttakaa mieleenne pakettien oletusnäkyvyys.
Kertaus
Opitte module-info.java-tiedoston perusteet:
- Yksi moduulikuvaus moduulia kohden lähdepuun juuressa
requiresilmoittaa riippuvuudet;java.baseon implisiittinenexportstuo paketin näkyviin; kaikki muu on kapseloitu- Ohjelma käännetään ja suoritetaan valitsimilla
--module-pathja--module
Seuraavaksi perehdytte requires- ja exports-direktiiveihin yksityiskohtaisesti.
Opi Java tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 104
- Oppitunnit
- 374
Usein kysytyt kysymykset
Onko oppitunti ”module-info.java” ilmainen?
Kyllä – oppitunnin ”module-info.java” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Java Academy-kurssin, päivitä CoddyKit PROhon. Java Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”module-info.java”?
Määritä moduuli. Harjoittelet Java Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Java Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Java Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”module-info.java”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Java Academy-oppitunnilla?
Kyllä. Jokainen Java Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.