Hozzon létre egy Java és Kotlin projektet a Maven segítségével

1. Bemutatkozás

Ebben a gyors bemutatóban megtudhatjuk, hogyan kell beállítani a Maven projektkezelés mindkettő Jáva és Kotlin források.

Először létrehozunk egy projektet a Jáva csak források. Ezután hozzáadjuk a kotlin-maven-plugin kezelni Kotlin is.

És végül hozzáadunk néhány próbabábut, bepakoljuk az alkalmazásunkat és teszteljük, hogy minden a várt módon működik-e.

2. Hozzon létre egy Java projektet a Maven segítségével

Először is, készítsünk egyeneset Jáva projekt vele Maven:

maven-java-kotlin jar 1.8 org.apache.maven.plugins maven-compiler-plugin 3.1 $ {java.version} $ {java.version} 

Ez pom fájl tartalmazza mindazt, amire szükségünk van a fordításhoz Jáva források és csomagolja be őket a befőttes üveg fájl.

3. Adja hozzá a Kotlin Maven beépülő modult

Most ezt kell hangolnunk pom fájl, hogy kezelni tudja Kotlin források is.

Először tegyük hozzá kotlin.verzió ingatlanjainkra éskotlin-stdlib-jdk8 függőségeinkhez. Így hozzáférünk Kotlin jellemzők:

 1,8 1.2.51. Org.jetbrains.kotlin kotlin-stdlib-jdk8 $ {kotlin.version} 

Azután, hozzá kell adnunk a kotlin-maven-plugin a miénknek Maven bővítmények.

Beállítjuk mindkettő kezelésére összeállítani és teszt-összeállítás céljait, megmondva neki, hol találjuk a forrásainkat.

Megegyezés szerint megtartjuk Jáva és Kotlin források különböző könyvtárakban, bár mindet egyformán feltehetnénk:

 kotlin-maven-plugin org.jetbrains.kotlin $ {kotlin.version} fordítás fordítás $ {project.basedir} / src / main / kotlin $ {project.basedir} / src / main / java test-compile test-compile $ { project.basedir} / src / test / kotlin $ {project.basedir} / src / test / java 

Ezzel majdnem vége a konfigurációnak. Meg kell alkalmazkodni maven-compiler-plugin konfiguráció, amire szükségünk van Kotlin korábban összeállítandó források Jáva források.

Gyakran, Maven a pluginek végrehajtása a deklarációs sorrend szerint történik. Tehát el kellene helyeznünk maven-compiler-plugin utána kotlin-maven-plugin. De az előbbinek két konkrét végrehajtása van, amelyeket a fázisok során minden más előtt hajtanak végre: alapértelmezett fordítás és default-testCompile.

Le kell tiltanunk és engedélyeznünk kell őket java-összeállítás és java-teszt-összeállítás ehelyett annak biztosítására kotlin-maven-plugin a kivégzés korábban megtörténik maven-compiler-plugin:

 org.apache.maven.plugins maven-compiler-plugin 3.1 $ {java.version} $ {java.version} default-compile none default-testCompile none java-compile fordítás lefordítás java-test-compile test-compile testCompile 

Láthatjuk, hogy az alapértelmezett végrehajtások a fázis használatával le vannak tiltva egyik sem, és Jáva-specifikus kivégzéseket kötnek összeállítani és teszt-összeállítás fázisok.

4. Mondd: „Hello World!” Java-val és Kotlinnal egyaránt

Most, hogy mindent jól beállítottunk, köszönjünk a világnak ... mindkettőből Jáva és Kotlin.

Ehhez hozzunk létre egy Alkalmazás osztály a fő() módszer. Ez a módszer vagy a-t hívja Jáva vagy a Kotlin osztály az első érve szerint:

public class Alkalmazás {static String JAVA = "java"; statikus karakterlánc KOTLIN = "kotlin"; public static void main (String [] args) {String language = args [0]; kapcsoló (nyelv) {eset JAVA: új JavaService (). sayHello (); szünet; eset KOTLIN: new KotlinService (). sayHello (); szünet; alapértelmezett: // Ne törj semmit; }}}

A JavaService és KotlinService osztályok egyszerűen azt mondják, hogy „Hello World!”:

public class JavaService {public void sayHello () {System.out.println ("A Java azt mondja, hogy" Hello World! ""); }}
osztály KotlinService {fun sayHello () {System.out.println ("Kotlin azt mondja:" Hello World! ")}}

Most összeállíthatjuk és csomagolhatjuk alkalmazásunkat telefonon keresztül mvn csomag parancs.

Teszteljük az előállított edényt a következő parancsok futtatásával egy terminálon:

java -cp maven-java-kotlin-1.0.0-SNAPSHOT.jar elérési út.

Amint láthatjuk, ezt hívjuk a JavaService osztály, amely a konzolra nyomtat: „A Java azt mondja:„ Hello World! ””.

java -cp maven-java-kotlin-1.0.0-SNAPSHOT.jar elérési út.

És ez hív KotlinService osztály, amely kinyomtatja: „Kotlin azt mondja:„ Hello World! ””.

5. Következtetés

Ebben a cikkben arra összpontosítottunk, hogyan lehet létrehozni egy Maven projektet, amely mindkettőt kezeli Jáva és Kotlin források összeállítása és csomagolása a befőttes üveg.

A teljes kódot a GitHubon lehet megvizsgálni.