Ghid pentru Java 9 compilare și executați proiectul

Ghid pentru Java 9 compilare și executați proiectul

Java și javac comenzi sunt rar utilizate Java-programatori. Instrumente, cum ar fi Maven și Gradle le face aproape nu este nevoie. Cu toate acestea, Maven și Gradle încă nu oferă suport complet pentru Java 9, deci, dacă doriți să începeți să-l folosească acum sau pur și simplu doresc să învețe unele subtilități utile înainte de lansarea oficială. ar trebui să învețe să sun java. javac și borcan pentru a gestiona codul lor.

Instalarea Java 9

În primul rând trebuie să instalați Java 9. Puteți descărca de pe site-ul Web Oracle. dar este recomandat să utilizați SdkMAN!. pentru că, în viitor, aceasta va permite să comutați cu ușurință între diferite versiuni de Java.

Puteți seta SdkMAN! cu această comandă:

Pentru a înțelege de ce codul nostru nu compilează, trebuie să înțelegeți ce este modulele fără nume.

Orice clasă care nu boot din modulul numit, în mod automat o parte a modulului fără nume. In exemplul de mai sus, codul nostru nu a fost înainte de crearea părții descriptor modul al unui modul, prin urmare, acesta a fost asociat cu un modul anonim. Modulul nedenumit - un mecanism de compatibilitate. Pur și simplu pune, permite dezvoltatorilor să utilizeze aplicații Java 9 cod care nu a fost modulariza. Din acest motiv, codul referitor la modul anonim are reguli asemanatoare cu Java 8 și versiunile anterioare: el poate vedea toate pachetele care sunt exportate din alte module, precum și toate pachetele de module fără nume.

Când mânerul modulului se adaugă la modulul, codul nu mai face parte din modulul fără nume și nu se poate vedea codul pentru celelalte module până când le importați. În cazul de mai sus modulul com.app nu necesită module, astfel Greeting unitate de bibliotecă nu este vizibilă pentru el. El se poate vedea doar pachete de module java.base.

Module în Java 9, cu excepția modulului nedenumit evaziv descris mai sus trebuie să declare pe care alte module de care au nevoie. În cazul modulului com.app numai cerință este biblioteca Felicitare. Dar, după cum s-ar putea ghici, această bibliotecă (precum și alte biblioteci nu acceptă Java 9) nu este un modul Java 9. Cum include în proiect?

În acest caz, trebuie să știți numele jar-fișier. Dacă aveți o dependență de o bibliotecă care nu a fost convertit în Java 9 unități, trebuie să știți ce fel de borcan-fișier este chemat la această bibliotecă, deoarece Java 9 tradus numele de fișier într-un modul valid.

Aceasta se numește un modul automat.

Pentru a afla numele modulului automat, compilatorul transformă nealfanumericheskie, deci ceva de genul slf4j-api-1.7.25.jar deveni un modul de nume sl4j.api.

Avem o bibliotecă numită lib.jar. Să redenumiți borcan-fișier în salutări-1.0.jar:

libs mv / lib. libs jar / felicitari - 1.0.jar

Acesta este un nume de fișier implicit, iar acum putem spune Java activa modul automat cu un nume salutări acceptabil. Și putem numi de la modulul com.app:

articole similare