Rappel : Kotlin est un langage libre, fonctionnant sur la machine virtuelle Java, développé sous licence Apache 2 par la société JetBrains.
Organisation de l'arborescence de fichiers
Respect de l'arborescence suivante :
. <= Racine du projet
|__ src/
| |__ main/
| | |__ kotlin/ <= Placer les sources écrites en Kotlin ici
| |
| |__ test/
| |__ kotlin/ <= Placer les sources des tests écrits en Kotlin ici
|
|__ pom.xml <= Fichier de build de Maven
Configurer le pom de Maven
Voici le minimum de configuration à ajouter dans le pom de votre projet. Attention ! Seule une des trois dépendances est à choisir, les deux autres sont à enlever.
<?xml version="1.0" encoding="UTF-8"?>
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>com.itametis.university.samples</groupId>
<artifactId>kotlin-hello-world</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
<properties>
<kotlin.version>1.1.3-2</kotlin.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!-- REMARQUE : UNE SEULE DES TROIS DÉPENDANCES EST À CHOISIR POUR VOTRE PROJET -->
<dependencies>
<!-- Votre code Kotlin dépend de la kotlin-stdlib pour être compilé (ici la compatibilité est Java 6) -->
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib</artifactId>
<version>${kotlin.version}</version>
<scope>compile</scope>
</dependency>
<!-- Idem mais pour utilisé l'API de Java 7 (incluant Java 6) -->
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib-jre7</artifactId>
<version>${kotlin.version}</version>
<scope>compile</scope>
</dependency>
<!-- Idem mais pour utilisé l'API de Java 8 (incluant Java 7) -->
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib-jre8</artifactId>
<version>${kotlin.version}</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<!-- Il faut indiquer à Maven l'emplacement des sources Kotlin -->
<sourceDirectory>${project.basedir}/src/main/kotlin</sourceDirectory>
<testSourceDirectory>${project.basedir}/src/test/kotlin</testSourceDirectory>
<plugins>
<plugin>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-maven-plugin</artifactId>
<version>${kotlin.version}</version>
<executions>
<!-- Le Kotlin compiler va compiler les sources -->
<execution>
<id>compile</id>
<phase>compile</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
<!-- Le Kotlin compiler va compiler les sources des tests -->
<execution>
<id>test-compile</id>
<phase>test-compile</phase>
<goals>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>