Je souhaite démarrer un nouveau projet avec Kotlin pour la machine virtuelle Java à l'aide de l'IDE IntelliJ, mais je ne parviens pas à obtenir une configuration pour que cela fonctionne. J'essayais de suivre ce tutoriel , et après cela ne fonctionna pas (l'option "Run '_DefaultPackage" "ne s'était jamais présentée), j'ai commencé à essayer de deviner ce qui était supposé être fait sans succès ..__ Que s'est-il passé jusqu'à présent (à plusieurs reprises):
fun main(args: Array<String>){
println("Hello world!")
}
public class Main {
fun main(args: Array<String>) {
println("Hello world!")
}
}
Qu'est-ce que je rate?
Vous ne pouvez pas assembler le projet car la méthode principale n'est pas statique. Donc, vous devriez le définir dans un objet compagnon.
class HelloKotlin {
companion object {
@JvmStatic fun main(args: Array<String>) {
println("Kotlin main is running here!")
}
}
}
Une réponse complète sur la manière d'identifier la classe exécutable pour une fonction main()
de niveau supérieur ou d'utiliser une méthode main()
au sein d'une classe est documentée dans cette autre réponse Stool Overflow: Comment exécuter les classes Kotlin
Cela couvre l'exécution en ligne de commande, dans Intellij (comme le demande votre question), Gradle, etc.
"Classe principale:" spécifiée -> com.mypackage.MainKt
Et créez le fichier Kotlin "Main" dans le package "com.mypackage"
package com.mypackage
fun main(args: Array<String>) {
println("Hello Kotlin!")
}
Ouvrez votre fichier contenant votre fonction principale et allez dans le menu -> "Editer les configurations" puis sélectionnez "+" dans la boîte de dialogue, "Application" comme type, définissez le nom de votre choix et définissez la classe principale en cliquant sur le bouton à côté de la zone de saisie supérieure (celle intitulée "classe principale").
Sélectionnez "utiliser le chemin de classe du module" et sélectionnez votre module dans la liste déroulante. Cliquez sur "Appliquer" et fermez la boîte de dialogue. Vous devriez maintenant pouvoir utiliser Shift + F10, déboguer avec Shift + F9 et modifier les configurations d’exécution avec Shift + Alt + F10. Vous pouvez également exécuter ou déboguer à partir des deux boutons en haut à droite de votre écran principal.
J'ai déplacé mon fichier main.kt dans le dossier src du projet et le problème a été résolu IntelliJ pourrait trouver la classe MainKt
Je devais mettre à jour mon plugin Kotlin (qui est sorti très récemment), puis les options de clic droit pour l'exécution ont commencé à apparaître. Je ne pouvais pas cerner le problème à autre chose, alors je pense que c'est tout.
Si vous rencontrez ce problème, cliquez avec le bouton droit sur le fichier de code source où se trouve votre fonction principale et cliquez sur Exécuter, Créer ou Déboguer.
Notez que la fonction principale doit porter le nom "main" (sans majuscule) et un argument "Array". Celui-ci m'a pris à quelques reprises lorsque je faisais de nouveaux projets en essayant de le faire fonctionner.
Cliquez simplement avec le bouton droit de la souris sur la classe que vous souhaitez exécuter et sélectionnez l'option Exécuter ClassNameKt. Reste sera effectué par IntelliJ IDE.