J'ai commencé avec le tutorial pour apprendre Kotlin dans IntelliJ
. Lorsque j'ai essayé d'exécuter l'exemple, i.e
fun main(args: Array<String>) {
println("lol")
}
L'exécution est suspendue avec ce messageError:(5, 5) Kotlin: Unresolved reference: println
C'est la première fois que j'utilise IntelliJ.J'ai jamais travaillé sur un projet Java
non plus. Quelque chose me manque-t-il?
Edit: J'ai déjà vu l'autre question déjà. La réponse n'est pas valable pour ma situation.
Votre plug-in Intellij IDEA et le compilateur Kotlin que vous utilisez dans le projet doivent correspondre. Par exemple, si le plug-in IDE est en version bêta 1, mais que votre projet Gradle/Maven utilisant M12, vous rencontrerez des problèmes identiques à ceux que vous avez décrits. Alors vérifiez que tout est aligné.
Si vous rencontrez toujours des problèmes, vous devez effacer les caches dans Intellij IDEA avec certains plugins plus anciens (menu Fichier, Effacer les caches et redémarrer, sélectionnez l'option permettant de redémarrer).
Si quelqu'un tombe sur et que NIInvalidate Cache
ou Update Kotlin's Version
fonctionnent:
1) Tout d’abord, assurez-vous de pouvoir le construire de l’extérieur de l’IDE. Si vous utilisez gradle
, par exemple:
gradle clean build
Si tout se passe bien, votre environnement est idéal pour travailler avec Kotlin
.
2) Pour corriger la construction IDE, essayez ce qui suit:
Structure du projet -> {Sélectionnez le module} -> Kotlin -> FIX
Comme suggéré par un membre de JetBrain, ici: https://discuss.kotlinlang.org/t/intellij-kotlin-project-screw-up/597
Couru dans cette question. Je devais ajouter ce qui suit à mon build.grade:
apply plugin: 'kotlin-Android'
Dans mon cas, il s'agissait d'une instance IntelliJ mal configurée.
Structure du projet -> SDK -> Supprimer et rajouter le SDK Java
Pour moi, cela était dû au projet manquant Gradle Libraries dans sa structure de projet.
Ajoutez simplement dans build.gradle:
apply plugin: 'idea'
Et puis exécutez:
$ gradle idea
Après cela, gradle reconstruit les bibliothèques de dépendances et les références sont reconnues!
J'ai tout essayé: des dossiers de compilation, exécutez gradle clean build
, exécutez AS, annulez le cache (x2), réinstallez le plugin Kotlin, redémarrez pc.
Mais en fin de compte, après tout cela, cela ne fonctionnait toujours pas, mais supprimait également le projet build.gradle
de cette ligne: apply plugin: 'kotlin-Android-extensions'
, synchronisait la gradation puis rajoutait
Ok, je suis venu ici quelques fois et je ne suis pas tout à fait sûr de savoir comment ou pourquoi cela se produit, mais la lecture suggère qu’il s’agit d’un décalage entre Kotlin et JVM. J'ai essayé un certain nombre de choses mentionnées sur cette page mais pas sans succès. C’était le genre de symptôme que IDE affichait dans le panneau de messages après avoir tenté d’exécuter des tests via l’EDI. Cependant, le panneau de code ne comporte pas de lignes rouges indiquant que les modules ne peuvent pas être trouvés ou importés, ni rien de fâcheux.
Mon projet (au moment de la rédaction de cet article) est un projet 4.10.2 kotlin 1.3 de dernière génération dans IntelliJ (IntelliJ IDEA 2018.2.5 (Édition ultime). Build # IU-182.4892.20, construit le 16 octobre 2018).
Pour commencer, j'ai invalidé les caches et redémarré. Puis couru un build propre. Après la reconstruction du projet toujours pas de joie. Je suis allé dans les paramètres du projet et j'ai remarqué que les versions du compilateur n'étaient pas définies sur Java 8; j'ai défini la version JVM du compilateur/Kotlin/Target et le code octet du compilateur/Java/Project sur 1.8/8 (voir ci-dessous), puis j'ai effectué quelques tests dans le IDE et nous sommes de retour dans les affaires! Les références résolues dans mon cas.
Avait la même chose avec IDEA 14.1.5, Kotlin v.1.0.0-beta-1038-IJ141-17.
Kotlin obtient sa propre entrée de liste (comme Java) lors de la création d'un nouveau projet, mais la seule configuration qui fonctionnait était:
.__ Nouveau | Projet | Java | "Kotlin (Java)" (assurez-vous que Project SDK est également configuré)
use library: Create, "Copier dans: lib".
Parfois, dans des situations similaires (je ne pense pas que ce soit votre problème car votre cas est très simple), il vaut la peine de vérifier le package de fichiers kotlin.
Si vous avez un fichier Kotlin dans le même package et y mettez quelques classes et que vous avez manqué la déclaration de package, il est indiqué dans IntelliJ que vous avez des classes dans le même package mais sans définition de package, IntelliJ vous montre:
Erreur: (5, 5) Kotlin: Référence non résolue: ...
Une solution possible pour les projets Kotlin autonomes consiste à inclure explicitement les bibliothèques standard Kotlin dans le projet racine.
Pour faire cela dans IntelliJ IDEA:
Mon problème a été résolu en ajoutant kotlin
comme suit
presentation.gradle (app.gradle)
apply plugin: 'com.Android.application'
apply plugin: 'kotlin-Android' // here
apply plugin: 'kotlin-Android-extensions' // and here
Android {
...
}
dependencies {
...
}
domain.gradle (kotlin pur)
Mon erreur a été jetée ici, car Android Studio crée mon domaine module en tant que module Java pur et plugin appliqué en tant que Java, et je l'ai utilisé dans le module de présentation qui est un module Android/Kotlin
Android Studio recherche et importe le chemin du package mais l'incompatibilité ne permet pas la construction.
Il suffit de supprimer
apply plugin: 'Java'
et de passer à kotlin comme suit
apply plugin: 'kotlin' // here is
dependencies {
...
}
...
data.gradle
apply plugin: 'com.Android.library'
apply plugin: 'kotlin-Android' // here
apply plugin: 'kotlin-Android-extensions' // and here
Android {
...
}
dependencies {
..
}
Je pense que ce sera utile