Doplnok Maven Compiler

Tento článok je súčasťou série: • Doplnok Maven Resources

• Doplnok Maven Compiler (aktuálny článok) • Stručný sprievodca doplnkom Maven Install Plugin

• Maven Failsafe Plugin

• Stručný sprievodca doplnkom Maven Surefire

• Doplnok Maven Deploy

• Maven Clean Plugin

• Doplnok Maven Verifier

• Doplnok Maven Site

• Sprievodca doplnkami Core Maven

1. Prehľad

Tento rýchly tutoriál predstavuje zostavovateľ doplnok, jeden z hlavných doplnkov nástroja na zostavenie Maven.

Prehľad ďalších základných doplnkov nájdete v tomto článku.

2. Ciele doplnku

The zostavovateľ plugin sa používa na kompiláciu zdrojového kódu projektu Maven. Tento doplnok má dva ciele, ktoré sú už viazané na konkrétne fázy predvoleného životného cyklu:

  • zostaviť skompilovať hlavné zdrojové súbory
  • testCompile skompilovať testovacie zdrojové súbory

Tu je zostavovateľ doplnok v POM:

 maven-compiler-plugin 3.7.0 ... 

Najnovšiu verziu tohto pluginu môžeme nájsť tu.

3. Konfigurácia

V predvolenom nastavení je zostavovateľ plugin kompiluje zdrojový kód kompatibilný s Java 5 a vygenerované triedy pracujú aj s Java 5 bez ohľadu na používaný JDK. Tieto nastavenia môžeme upraviť v konfigurácia element:

 1.8 1.8  

Pre pohodlie môžeme nastaviť verziu Java ako vlastnosti POM:

 1.8 1.8 

Niekedy chceme predložiť argumenty javac zostavovateľ. To je miesto, kde compilerArgs parameter príde vhod.

Napríklad môžeme určiť nasledujúcu konfiguráciu, ktorá má kompilátor varovať pred nekontrolovanými operáciami:

   -Xlint: nezačiarknuté 

Pri zostavovaní tejto triedy:

public class Data {List textList = new ArrayList (); public void addText (text reťazca) {textList.add (text); } public List getTextList () {return this.textList; }}

na konzole uvidíme nekontrolované varovanie:

[UPOZORNENIE] ... Data.java:[7,29] je potrebná nekontrolovaná konverzia: java.util.List nájdený: java.util.ArrayList

Ako obidva ciele zostavovateľ plugin sú automaticky viazané na fázy v predvolenom životnom cykle Maven, môžeme tieto ciele vykonať pomocou príkazov mvn zostaviť a testovacia kompilácia mvn.

4. Aktualizácie Java 9

4.1. Konfigurácia

Do verzie Java 8 sme používali číslo verzie ako 1.X kde X predstavuje verziu Javy, napríklad 1,8 pre Javu 8.

V prípade Java 9 a novších verzií môžeme priamo použiť číslo verzie:

 9 9 

Podobne môžeme definovať verziu pomocou vlastnosti ako:

 9 9 

Maven pridal svoju podporu pre Java 9 v 3.5.0, takže budeme potrebovať aspoň túto verziu. Budeme tiež potrebovať minimálne 3.8.0 z maven-compiler-plugin:

   org.apache.maven.plugins maven-compiler-plugin 3.8.0 9 9 

4.2. Stavať

Teraz je čas otestovať našu konfiguráciu.

Najskôr vytvorme a MavenCompilerPlugin triedy, do ktorej importujeme balík z iného modulu.

Jednoduchý je javax.xml.XMLConstants.XML_NS_PREFIX:

public class MavenCompilerPlugin {public static void main (String [] args) {System.out.println ("Predpona priestoru názvov XML je:" + XML_NS_PREFIX); }}

Ďalej to poďme zostaviť:

mvn -q clean compile exec: java -Dexec.mainClass = "com.baeldung.maven.java9.MavenCompilerPlugin"

Pri použití predvolených nastavení Java 9 sa však vyskytne chyba:

[ERROR] CHYBA KOMPILÁCIE: [CHYBA] ... / MavenCompilerPlugin.java:[3,20] balík javax.xml nie je viditeľný (balík javax.xml je deklarovaný v module java.xml, ale modul com.baeldung.maven. java9 to nečíta) [CHYBA] ... / MavenCompilerPlugin.java:[3,1] statický import iba z tried a rozhraní [CHYBA] ... / MavenCompilerPlugin.java:[7,62] nemôže nájsť symbolický symbol: premenná XML_NS_PREFIX umiestnenie: trieda com.baeldung.maven.java9.MavenCompilerPlugin

Chyba pochádza zo skutočnosti, že tento balík je v samostatnom module, ktorý sme do našej verzie ešte nezahrnuli.

Najjednoduchší spôsob, ako to vyriešiť, je vytvoriť modul-info.java triedy a naznačuje, že požadujeme java.xml modul:

modul com.baeldung.maven.java9 {vyžaduje java.xml; }

Teraz to môžeme skúsiť znova:

mvn -q clean compile exec: java -Dexec.mainClass = "com.baeldung.maven.java9.MavenCompilerPlugin"

A náš výstup bude:

Predpona priestoru názvov XML je: xml

5. Záver

V tomto článku sme prešli cez zostavovateľ plugin a popísal, ako sa používa. Dozvedeli sme sa tiež o podpore Java 9 od Mavenu.

Kompletný zdrojový kód tohto tutoriálu nájdete na GitHub.

Ďalšie » Stručný sprievodca Maven Install Plugin « Predchádzajúci doplnok Maven Resources

$config[zx-auto] not found$config[zx-overlay] not found