Este arquivopom contém tudo o que precisamos para compilar os fontesJava e empacotá-los em um arquivojar.
3. Adicionar plug-in do Kotlin Maven
Agora precisamos ajustar este arquivopom para que ele possa lidar com as fontesKotlin também.
Vamos primeiro adicionarkotlin.version às nossas propriedades ekotlin-stdlib-jdk8 to our dependencies. Dessa forma, teremos acesso aos recursos deKotlin:
Isso é quase o fim da configuração. Precisamosadapt maven-compiler-plugin configuration as we need Kotlin sources to be compiled before Java sources.
Freqüentemente,Maven execuções de plugins acontecem de acordo com a ordem de declaração. Portanto, devemos colocarmaven-compiler-plugin mais segurokotlin-maven-plugin. Mas o primeiro tem duas execuções específicas que são executadas antes de tudo durante as fases:default-compileedefault-testCompile.
Precisamos desabilitá-los e habilitarjava-compileejava-test-compile para garantir que a execução dekotlin-maven-plugin acontecerá antes demaven-compiler-plugin:
Podemos ver que as execuções padrão são desabilitadas usando a fasenone, e as execuções específicas deJava são limitadas às fasescompileetest-compile.
4. Diga 'Olá, mundo!' com Java e Kotlin
Agora que configuramos tudo corretamente, vamos dizer olá para o mundo ... deJava eKotlin.
Para fazer isso, vamos criar uma classeApplication com um métodomain() . Este método chamará uma classeJava ouKotlin de acordo com seu primeiro argumento:
public class Application {
static String JAVA = "java";
static String KOTLIN = "kotlin";
public static void main(String[] args) {
String language = args[0];
switch (language) {
case JAVA:
new JavaService().sayHello();
break;
case KOTLIN:
new KotlinService().sayHello();
break;
default:
// Do nothing
break;
}
}
}
As classesJavaService eKotlinService estão simplesmente dizendo “Olá, mundo!”:
public class JavaService {
public void sayHello() {
System.out.println("Java says 'Hello World!'");
}
}
class KotlinService {
fun sayHello() {
System.out.println("Kotlin says 'Hello World!'")
}
}
Agora podemos compilar e empacotar nosso aplicativo chamando o comandomvn package.
Vamos testar o jar produzido executando os seguintes comandos em um terminal: