Maven Compiler plugin

Ez a cikk egy sorozat része: • Maven Resources plugin

• Maven Compiler Plugin (aktuális cikk) • Rövid útmutató a Maven Install Plugin használatához

• A Maven Failsafe bővítmény

• Gyors útmutató a Maven Surefire bővítményhez

• A Maven Deploy plugin

• A Maven Clean beépülő modul

• A Maven Verifier beépülő modul

• A Maven Site plugin

• Útmutató a Core Maven bővítményekhez

1. Áttekintés

Ez a gyors bemutató bemutatja a fordítóprogram plugin, a Maven build eszköz egyik alapvető bővítménye.

A többi alapvető beépülő modul áttekintését lásd ebben a cikkben.

2. Plugin Célok

A fordítóprogram plugin egy Maven projekt forráskódjának összeállításához használható. Ennek a bővítménynek két célja van, amelyek már az alapértelmezett életciklus meghatározott szakaszaihoz vannak kötve:

  • összeállítani fordítsa le a fő forrásfájlokat
  • testCompile teszt forrásfájlok összeállítása

Itt van a fordítóprogram plugin a POM-ban:

 maven-compiler-plugin 3.7.0 ... 

A bővítmény legújabb verzióját itt találjuk.

3. Konfiguráció

Alapértelmezés szerint a fordítóprogram A plugin lefordítja a Java 5 kompatibilis forráskódot, és a létrehozott osztályok a Java 5-tel is működnek, függetlenül a használt JDK-tól. Ezeket a beállításokat a konfiguráció elem:

 1.8 1.8  

A kényelem érdekében beállíthatjuk a Java verziót a POM tulajdonságaként:

 1.8 1.8 

Néha érveket akarunk adni a javac fordítóprogram. Itt van a compilerArgs paraméter jól jön.

Például megadhatjuk a következő konfigurációt a fordító számára, hogy figyelmeztessük az ellenőrzés nélküli műveletekre:

   -Xlint: nincs ellenőrizve 

Az osztály összeállításakor:

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

nem ellenőrzött figyelmeztetést fogunk látni a konzolon:

[FIGYELEM] ... Data.java:[7,29] ellenőrizhetetlen átalakítás szükséges: java.util.List talált: java.util.ArrayList

Mivel a fordítóprogram A plugin automatikusan kapcsolódik a Maven alapértelmezett életciklusának fázisaihoz, ezeket a célokat a parancsokkal tudjuk végrehajtani mvn össze és mvn teszt-fordítás.

4. Java 9 frissítések

4.1. Konfiguráció

A Java 8-ig a verziószámot 1-nek használtuk.x hol x a Java verzióját képviseli, például az 1.8 a Java 8 esetén.

Java 9 és újabb verzióknál csak közvetlenül használhatjuk a verziószámot:

 9 9 

Ehhez hasonlóan definiálhatjuk a verziót is tulajdonságait mint:

 9 9 

A Maven a Java 9 támogatását adta hozzá 3.5.0, tehát szükségünk lesz legalább arra a verzióra. Szükségünk lesz legalább is 3.8.0 a maven-compiler-plugin:

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

4.2. Épít

Itt az ideje, hogy teszteljük a konfigurációnkat.

Először hozzunk létre egy MavenCompilerPlugin osztály, amelyben csomagot importálunk egy másik modulból.

Egy egyszerű javax.xml.XMLConstants.XML_NS_PREFIX:

public class MavenCompilerPlugin {public static void main (String [] args) {System.out.println ("Az XML névtér előtag:" + XML_NS_PREFIX); }}

Ezután állítsuk össze:

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

A Java 9 alapértelmezett beállításainak használata esetén azonban hibaüzenetet kapunk:

[HIBA] ÖSSZEÁLLÍTÁSI HIBA: [HIBA] ... / MavenCompilerPlugin.java:[3,20] A javax.xml csomag nem látható (a javax.xml csomagot a java.xml modul deklarálja, de a com.baeldung.maven modul. a java9 nem olvassa el) [ERROR] ... / MavenCompilerPlugin.java:[3,1] statikus importálás csak osztályokból és felületekről [ERROR] ... / MavenCompilerPlugin.java:[7,62] nem talál szimbólumszimbólumot: változó XML_NS_PREFIX hely: class com.baeldung.maven.java9.MavenCompilerPlugin

A hiba abból adódik, hogy ez a csomag egy külön modulban található, amelyet még nem építettünk be a buildbe.

Ennek legegyszerűbb módja a létrehozás a module-info.java osztály és jelezve, hogy szükségünk van a java.xml modul:

modul com.baeldung.maven.java9 {java.xml szükséges; }

Most újra megpróbálhatjuk:

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

És a kimenetünk a következő lesz:

Az XML névtér előtag: xml

5. Következtetés

Ebben a cikkben átnéztük a fordítóprogram plugin és leírta, hogyan kell használni. Megtudtuk Maven Java 9 támogatását is.

Az oktatóanyag teljes forráskódja megtalálható a GitHub oldalon.

Következő » Rövid útmutató a Maven Install beépülő modulhoz « Előző Maven Resources bővítmény