Dodatak za kompilator Maven

Ovaj je članak dio serije: • Dodatak Maven Resources

• 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