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 ».

Что мне не хватает?

Вы не можете собрать основной проект, потому что основной метод не является статичным. Поэтому вы должны определить его в сопутствующем объекте.

 class HelloKotlin { companion object { @JvmStatic fun main(args: Array<String>) { println("Kotlin main is running here!") } } } 

Полный ответ на то, как идентифицировать класс runnable для функции main() верхнего уровня или использовать метод main() в классе, задокументирован в этом другом ответе «Переполнение стека»: как запустить классы Kotlin

Это охватывает работу в командной строке, внутри Intellij (как задается ваш вопрос), Gradle и т. Д.

Откройте файл, который содержит вашу основную функцию, и перейдите в меню -> «Редактировать конфигурации», затем выберите «+» в диалоговом окне «Приложение» в качестве типа, который задает имя так, как вы хотите, и установите основной класс, нажав на кнопку рядом с верхним полем ввода (тот, который помечен как «основной класс»).

Выберите «use class path of module» и выберите ваш модуль из раскрывающегося списка. Нажмите «применить» и закройте диалоговое окно. Теперь вы можете работать со сдвигом + F10, отлаживать со сдвигом + F9 и редактировать настройки запуска со сдвигом + alt + F10. Вы также можете запускать или отлаживать две кнопки в верхней правой части основного экрана.

Мне пришлось обновить мой плагин Kotlin (который вышел совсем недавно), а затем появились параметры правой кнопки мыши для запуска. Я не мог отследить эту проблему ни на что другое, поэтому я думаю, что все.

Если у вас возникла эта проблема, щелкните правой кнопкой мыши файл исходного кода, где находится ваша основная функция, и нажмите «Запустить, создать или отладить».

Обратите внимание, что основная функция должна иметь имя «main» (без ограничений) и аргумент «Array». Это меня поймало несколько раз, когда я делал новые проекты, пытаясь заставить его работать.

Я переместил файл main.kt внутри папки src проекта и решил проблему, то есть IntelliJ смог найти класс MainKt