Tenho um projeto Maven em IntelliJ. O projeto usa Java e Kotlin e está configurado para usar Java 11 no pom:
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
Porém, no IntellJ, quando abro os submódulos na estrutura do projeto:
A plataforma de destino está definida para usar 1.8, embora o nível de origem e destino no pom esteja definido como 11. Além disso, essas configurações revertem para 1.8 quando eu reimporto o maven, o que implica que elas são determinadas pelo maven de alguma forma.
Verifiquei os poms dos submódulos e nenhum deles se refere à plataforma de destino ou à versão 1.8 de forma alguma.
Como esses valores são determinados a partir dos pom.xml
arquivos?
Como posso configurar o Maven para que o Kotlin seja definido para usar a JVM do projeto dentro dos submódulos?
Isso é realmente confuso no início. A configuração padrão no Maven que você mostrou
... não é realmente visto pelo Kotlin, pois esta configuração é determinada para Java.
Uma pequena dica: você pode fazer isso agora:
Voltando à sua pergunta:
O fallback para Kotlin é o Java 1.8, caso nenhuma outra configuração seja encontrada. Se você realmente precisar definir a versão do Java, pode usar o kotlin-maven-plugin:
Para mais detalhes e configurações, dê uma olhada aqui: https://kotlinlang.org/docs/maven.html#compile-kotlin-only-source-code