Kotlin - Настройка проекта IntelliJ
Я хочу начать новый проект с Kotlin для JVM с помощью IntelliJ IDE, но я не могу получить конфигурацию для его работы. Я пытался следовать этому руководству, и после этого не работал (опция "Run" _DefaultPackage "никогда не появлялась), я начал пытаться понять, что должно было быть сделано без успеха. Что произошло до сих пор (неоднократно):
- Я создал новый проект, выбранный "Kotlin - JVM" в качестве типа проекта.
- Я нажал кнопку "Создать..." для Runtime Kotlin на второй странице и выбрал "Копировать в: lib".
- Я нажимаю "Готово", и созданный проект имеет один модуль с тем же именем, что и мой проект. Отсутствует исходный файл по умолчанию или любая конфигурация.
- Я создаю файл Kotlin с именем "app.kt" (я также пробовал другие имена, например "Main.kt"), и поместил следующий исходный код в:
fun main(args: Array<String>){
println("Hello world!")
}
- Я щелкнул правой кнопкой мыши по редактору кода и файлу в левой панели, чтобы найти параметр "Запустить" _DefaultPackage ", упомянутый в учебнике, но не смог найти его в любом из них.
- Я создаю новую конфигурацию Kotlin, которая просит, чтобы я включил "Основной класс". Увидев это, я меняю код на:
public class Main {
fun main(args: Array<String>) {
println("Hello world!")
}
}
- Я редактирую свою конфигурацию и устанавливаю основной класс в "Main", а затем запускаю конфигурацию. Ошибка этой ошибки: "Ошибка при запуске: функция" main "не найдена в классе" Main ".
Что мне не хватает?
Ответы
Ответ 1
Вы не можете собрать основной проект, потому что основной метод не является статичным. Поэтому вы должны определить его в сопутствующем объекте.
class HelloKotlin {
companion object {
@JvmStatic fun main(args: Array<String>) {
println("Kotlin main is running here!")
}
}
}
Ответ 2
Полный ответ на то, как идентифицировать класс runnable для функции main()
верхнего уровня или использовать метод main()
в классе, задокументирован в этом другом ответе "Переполнение стека": как запустить классы Kotlin
Это охватывает работу в командной строке, внутри Intellij (как задается ваш вопрос), Gradle и т.д.
Ответ 3
Откройте файл, который содержит основную функцию, и перейдите к menu-> "Редактировать конфигурации", затем выберите "+" в диалоговом окне "Приложение" в качестве типа, который задает имя так, как вы хотите, и установите основной класс, нажав на рядом с верхним полем ввода (тот, который помечен как "основной класс").
Выберите "use class path of module" и выберите ваш модуль из раскрывающегося списка. Нажмите "применить" и закройте диалоговое окно. Теперь вы можете работать со сдвигом + F10, отлаживать со сдвигом + F9 и редактировать настройки запуска со сдвигом + alt + F10. Вы также можете запускать или отлаживать две кнопки в верхней правой части основного экрана.
Ответ 4
Я переместил файл main.kt внутри папки src проекта и решил проблему, то есть IntelliJ смог найти класс MainKt
Ответ 5
Мне пришлось обновить мой плагин Kotlin (который вышел совсем недавно), а затем появились параметры правой кнопки мыши для запуска. Я не мог отследить проблему ни к чему еще, поэтому я думаю, что это так.
Если у вас возникла эта проблема, щелкните правой кнопкой мыши файл исходного кода, где находится ваша основная функция, и нажмите "Запустить, создать или отладить".
Обратите внимание, что основная функция должна иметь имя "main" (без ограничений) и аргумент "Array". Это меня поймало несколько раз, когда я делал новые проекты, пытаясь заставить его работать.
Ответ 6
Указанный "Основной класс:" → com.mypackage.MainKt
И создайте файл Kotlin "Main" в пакете "com.mypackage"
package com.mypackage
fun main(args: Array<String>) {
println("Hello Kotlin!")
}