Dodatak za kompilator Maven
• Dodatak za kompilator Maven (trenutni članak) • Kratki vodič za dodatak za instaliranje Maven
• Dodatak Maven Failsafe
• Kratki vodič za dodatak Maven Surefire
• Dodatak Maven Deploy
• Dodatak Maven Clean
• Dodatak Maven Verifier
• Dodatak za web mjesto Maven
• Vodič kroz dodatke Core Maven
1. Pregled
Ovaj brzi vodič predstavlja sastavljač dodatak, jedan od temeljnih dodataka alata za izgradnju Maven.
Pregled ostalih osnovnih dodataka potražite u ovom članku.
2. Ciljevi dodatka
The sastavljač dodatak se koristi za sastavljanje izvornog koda projekta Maven. Ovaj dodatak ima dva cilja, koji su već povezani s određenim fazama zadanog životnog ciklusa:
- sastaviti – sastaviti glavne izvorne datoteke
- testSastaviti – sastaviti izvorne datoteke testa
Evo sastavljač dodatak u POM-u:
maven-compiler-plugin 3.7.0 ...
Najnoviju verziju ovog dodatka možemo pronaći ovdje.
3. Konfiguracija
Prema zadanim postavkama sastavljač dodatak kompajlira izvorni kod kompatibilan s Java 5, a generirane klase također rade s Java 5 bez obzira na JDK koji se koristi. Te postavke možemo izmijeniti u programu konfiguracija element:
1.8 1.8
Radi praktičnosti, inačicu Java možemo postaviti kao svojstva POM-a:
1.8 1.8
Ponekad želimo proslijediti argumente javac sastavljač. Ovdje je compilerArgs parametar dobro dođe.
Na primjer, možemo odrediti sljedeću konfiguraciju za kompajler da upozori na neovjerene operacije:
-Xlint: neoznačeno
Pri sastavljanju ove klase:
podaci javne klase {Popis textList = new ArrayList (); javna praznina addText (tekst niza) {textList.add (tekst); } javni popis getTextList () {return this.textList; }}
vidjet ćemo neprovjereno upozorenje na konzoli:
[UPOZORENJE] ... Data.java: [7,29] potrebna je neprovjerena konverzija: java.util.List pronađen: java.util.ArrayList
Kao oba cilja sastavljač dodatak je automatski vezan za faze u zadanom životnom ciklusu Mavena, te ciljeve možemo izvršavati naredbama mvn sastaviti i mvn test-sastaviti.
4. Ažuriranja Java 9
4.1. Konfiguracija
Do Jave 8 koristili smo broj verzije kao 1.x gdje x predstavlja Javinu verziju, poput 1.8 za Javu 8.
Za Javu 9 i novije verzije možemo samo izravno koristiti broj verzije:
9 9
Slično tome, verziju možemo definirati pomoću Svojstva kao:
9 9
Maven je dodao podršku za Javu 9 u 3.5.0, pa će nam trebati barem ta verzija. Trebat će nam i barem 3.8.0 od maven-compiler-plugin:
org.apache.maven.plugins maven-compiler-plugin 3.8.0 9 9
4.2. Izgraditi
Sada je vrijeme da testiramo našu konfiguraciju.
Prvo, izradimo a MavenCompilerPlugin klase u koju uvozimo paket iz drugog modula.
Jednostavno je javax.xml.XMLConstants.XML_NS_PREFIX:
javna klasa MavenCompilerPlugin {public static void main (String [] args) {System.out.println ("Prefiks prostora XML imena je:" + XML_NS_PREFIX); }}
Dalje, sastavimo ga:
mvn -q clean compile exec: java -Dexec.mainClass = "com.baeldung.maven.java9.MavenCompilerPlugin"
Kad koristimo zadane postavke Jave 9, dobit ćemo pogrešku:
[POGREŠKA] POGREŠKA PRIKLJUČENJA: [POGREŠKA] ... / MavenCompilerPlugin.java: [3,20] paket javax.xml nije vidljiv (paket javax.xml deklariran je u modulu java.xml, ali modul com.baeldung.maven. java9 ga ne čita) [POGREŠKA] ... / MavenCompilerPlugin.java: [3.1]] statički uvoz samo iz klasa i sučelja [POGREŠKA] ... / MavenCompilerPlugin.java: [7,62] ne može pronaći simbol simbola: varijabla XML_NS_PREFIX mjesto: klasa com.baeldung.maven.java9.MavenCompilerPlugin
Pogreška dolazi iz činjenice da je ovaj paket u zasebnom modulu koji još nismo uključili u našu izgradnju.
Najjednostavniji način da se to riješi je stvaranje modul-info.java klase i naznačavajući da trebamo java.xml modul:
modul com.baeldung.maven.java9 {zahtijeva java.xml; }
Sada možemo pokušati ponovo:
mvn -q clean compile exec: java -Dexec.mainClass = "com.baeldung.maven.java9.MavenCompilerPlugin"
A naš izlaz bit će:
Prefiks prostora imena XML je: xml
5. Zaključak
U ovom smo članku prešli na članak sastavljač dodatak i opisao kako ga koristiti. Također smo saznali o Mavenovoj podršci za Javu 9.
Kompletni izvorni kôd za ovu lekciju možete pronaći na GitHubu.
Sljedeći » Kratki vodič za dodatak za instalaciju Maven « Prethodni dodatak Maven Resources