Zacząłem od samouczka do nauki Kotlina w IntelliJ
.Kiedy próbowałem uruchomić przykład tj
fun main(args: Array<String>) {
println("lol")
}
Wykonywanie jest zawieszone z tym komunikatem Error:(5, 5) Kotlin: Unresolved reference: println
Po raz pierwszy używam IntelliJ.Nigdy też nie pracowałem nad Java
projektem.Czy czegoś mi brakuje?
Edycja: widziałem już inne pytanie, odpowiedź nie dotyczy mojej sytuacji.
intellij-idea
jvm
kotlin
Mysz Anony
źródło
źródło
Odpowiedzi:
Twoja wtyczka Intellij IDEA i środowisko uruchomieniowe / kompilator Kotlin, których używasz w projekcie, muszą być zgodne. Na przykład, jeśli wtyczka IDE to Beta 1, ale twój projekt Gradle / Maven używa M12, będziesz mieć problemy dokładnie tak, jak opisałeś. Więc sprawdź, czy wszystko się zgadza.
Jeśli nadal masz problemy, w przypadku niektórych starszych wtyczek musisz wyczyścić pamięci podręczne w Intellij IDEA (menu plików, Wyczyść pamięci podręczne i uruchom ponownie, wybierz opcję ponownego uruchomienia).
źródło
Unresolved reference: io
. Jako archiwum JAR, uchwała referencyjna powinna dotyczyć rzeczy przedszkolnych. Więc co tam!??Jeśli ktoś się na to natknie i NIGDY
Invalidate Cache
aniUpdate Kotlin's Version
pracy:1) Po pierwsze, upewnij się, że możesz go zbudować spoza środowiska IDE. Jeśli używasz
gradle
na przykład:Jeśli wszystko pójdzie dobrze, praca w Twoim środowisku jest dobra
Kotlin
.2) Aby naprawić kompilację IDE, wypróbuj następujące rozwiązania :
Zgodnie z sugestią członka JetBrain tutaj: https://discuss.kotlinlang.org/t/intellij-kotlin-project-screw-up/597
źródło
W moim przypadku była to źle skonfigurowana instancja IntelliJ.
źródło
Wpadłem na ten problem. Musiałem dodać następujące elementy do mojego build.grade:
apply plugin: 'kotlin-android'
źródło
Ok, byłem tu kilka razy i nie do końca jestem pewien, jak i dlaczego tak się dzieje, ale czytanie sugeruje, że jest to niezgodność Kotlin / JVM. Wypróbowałem wiele rzeczy wymienionych na tej stronie, ale nie bez całkowitego sukcesu. To był rodzaj symptomu, który IDE wyświetlał w panelu komunikatów po próbie uruchomienia testów przez IDE. Jednak panel kodu nie ma czerwonych linii wskazujących, że nie można znaleźć ani zaimportować modułów ani nic nie w porządku.
Mój projekt (w momencie pisania tego) to projekt klasy 4.10.2 kotlin 1.3 w IntelliJ (IntelliJ IDEA 2018.2.5 (Ultimate Edition) Build # IU-182.4892.20, zbudowany 16 października 2018)
Na początek jednak unieważniłem pamięci podręczne i uruchomiłem ponownie. Następnie uruchomiono gradle clean build. Po przebudowie projekt nadal nie ma radości. Wszedłem do ustawień projektu i zauważyłem, że wersje kompilatora nie są ustawione na java 8, ustawiłem wersję Compiler / Kotlin / Target JVM i Compiler / Java / Project Byte Code na 1.8 / 8 (patrz poniżej), a następnie przeprowadziłem testy w IDE i wracamy do pracy! Odniesienia rozwiązane w moim przypadku.
źródło
Dla mnie było to spowodowane brakiem bibliotek Gradle Libraries w strukturze projektu.
Po prostu dodaj build.gradle:
apply plugin: 'idea'
A potem biegnij:
$ gradle idea
Po tym gradle odbuduje biblioteki zależności i referencje zostaną rozpoznane!
źródło
Możliwym rozwiązaniem dla samodzielnych projektów Kotlin jest jawne dołączenie standardowych bibliotek Kotlin do projektu głównego.
Aby to zrobić w IntelliJ IDEA:
źródło
Mój problem został rozwiązany przez dodanie
kotlin
następującychPresentation.gradle (app.gradle)
apply plugin: 'com.android.application' apply plugin: 'kotlin-android' // here apply plugin: 'kotlin-android-extensions' // and here android { ... } dependencies { ... }
domain.gradle (czysty kotlin)
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 { .. }
Myślę, że to będzie pomocne
źródło
Miał to samo z IDEA 14.1.5, Kotlin v.1.0.0-beta-1038-IJ141-17.
Kotlin otrzymuje swój własny wpis na liście (jak Java) podczas tworzenia nowego projektu, ale jedyna działająca konfiguracja to:
Nowy | Projekt | Java | „Kotlin (Java)” (upewnij się, że masz skonfigurowany Project SDK)
użyj biblioteki: Utwórz, „Kopiuj do: lib”.
źródło
Próbowałem wszystkiego: wyczyść foldery kompilacji, uruchom
gradle clean build
, wykonaj AS unieważnij pamięć podręczną (x2), ponownie zainstaluj wtyczkę Kotlin, zrestartuj komputer.Ale w końcu po zrobieniu tego wszystkiego nadal nie działało, ale również usunięcie z projektu
build.gradle
tej liniiapply plugin: 'kotlin-android-extensions'
:, gradle sync, a następnie ponowne dodanie zadziałałoźródło
Otrzymałem również ten błąd, ale rozwiązałem to, korzystając z poniższej koncepcji.
Ten błąd występuje z powodu nieprawidłowej konfiguracji języka Java.
źródło
Czasami może się to zdarzyć, ponieważ próbujesz użyć projektu z niekompatybilnymi wersjami wtyczki Kotlin w Gradle z wtyczką w swoim IDE. Sprawdź wersje org.jetbrains.kotlin.jvm i innych wtyczek Kotlin w build.gradle oraz wersję zainstalowanej wtyczki kotlin w swoim IDE i spróbuj zrobić to podobnie:
źródło
Przydarzyło mi się dzisiaj.
Mój problem polegał na tym, że miałem otwartych zbyt wiele kart (nie wiedziałem, że są otwarte) z kodem źródłowym.
Jeśli zamkniesz wszystkie karty, być może uda ci się rozmylić IntelliJ z poprawnym indeksowaniem zależności
źródło
Unieważnienie pamięci podręcznych i aktualizacja wtyczki Kotlin w Android Studio załatwiały sprawę.
źródło
Miałem ten problem, ponieważ próbowałem ustawić konfiguracje bibliotek wieloplatformowych.
Usunąłem wszystkie zestawy źródłowe wraz z ich zależnościami z pliku „build.gradle”, ale zachowałem „wspólny” zestaw źródeł.
Natywny działał dobrze, ale maszyna JVM nie była w stanie zbudować i pokazała błąd.
Ostatecznie rozwiązaniem było nie usuwanie zbioru źródłowego maszyny JVM ani jej zależności
źródło
Kolejną rzeczą, którą chciałbym dodać, jest to, że musisz wybrać View -> Tool Windows -> Gradle zanim będziesz mógł uruchomić projekt za pomocą Gradle.
Jeśli używasz Gradle, projekt buduje się i działa normalnie, ale używając IntelliJ tak nie jest, to może rozwiązać problem.
źródło
Miałem ten problem, ponieważ linter drukował, że mój obiekt był wystąpieniem,
Foo
podczas gdy kompilator nie mógł zdefiniować jego typu i uznać, że jest toAny
obiekt podobny do obiektu (w moim przypadku był bardziej złożony, linter pokazuje błąd w poniższym kodzie, ale pomysł jest tutaj):class Foo { val bar: Int = 0 } fun test(): Any { return Foo() } val foo = test() foo.bar // <-- Linter consider that foo is an Instance of Foo but not the compiler because it's an Any object so it show the error at compilation.
Aby to naprawić, musiałem rzucić mój obiekt:
val foo = test() as Foo
źródło
Sprawdź i zainstaluj aktualizacje Android Studio. To rozwiązuje problem.
źródło
Czasami w podobnych sytuacjach (nie sądzę, że to twój problem, ponieważ twoja sprawa jest bardzo prosta) warto sprawdzić pakiet plików kotlin.
Jeśli masz plik Kotlin w tym samym pakiecie i umieściłeś tam kilka klas i przegapiłeś deklarację pakietu, wygląda to w IntelliJ, że masz klasy w tym samym pakiecie, ale bez definicji pakietu, IntelliJ pokazuje:
źródło
Najprostsze rozwiązanie:
Narzędzia-> Kotlin-> Konfiguruj Kotin w projekcie
Głosuj za, jeśli uznany za Przydatny.
źródło