Intereting Posts
Выделение синтаксиса для файлов сценариев Kotlin в Idea Изменение высоты списка элементов при установке элемента изображения Выражение высказывания в Котлине Существует ли эквивалент Котлина для библиотеки AssertJ? Kotlin Один аргумент типа, ожидаемый для класса для абстрактного общего владельца представления Циркулярные ссылки с vals в Котлине Супертипы следующих классов не могут быть разрешены Я сейчас разрабатываю приложение для Android с Kotlin, но произошла ошибка: CompilationException: не удалось встроить метод в 'readText' Параметр, заданный как ненулевой, равен null в массиве ArrayAdaper Скрытие стандартных конструкторов по умолчанию Условие Котлина подавляет "всегда верно" Котлин – эквивалентность комбинации Свифта «если пусть + литье» Формат Строка Котлина с несколькими вхождениями RealmMigrationNeededException при добавлении RealmList <Int> (Kotlin) оператор 'when' пропускает условие в Kotlin для Android

Выполнение программы Java и Kotlin с библиотекой времени исполнения Kotlin в пути к классам

Я создал смешанный проект Java + Kotlin в кислороде затмения. Я добавил плагин kotlin для затмения и добавил проект kotlin в проект. Нет проблем с компиляцией или построением с maven.

Когда я выполнил проект, я получил исключение, потому что котлинской среды выполнения не существует. Не проблема снова, я добавил банку вручную в конфигурации запуска так:

введите описание изображения здесь

Но это взломать.

Может ли кто-нибудь сказать мне самый изящный способ сказать eclipse добавить ту же среду выполнения, которую использует плагин eclipse kotlin, когда я запускаю программу, чтобы указанная среда выполнения оставалась в синхронизации, если я когда-либо обновляю плагин.

Если это помогает, вот как выглядит библиотека в пути построения проекта:

введите описание изображения здесь

Это кажется достаточно простым, но я не могу понять, как это сделать …

Как я уже упоминал в комментарии выше, тот факт, что в Maven не нужно ничего добавлять, чтобы затмение компилировало классы Kotlin, но нуждалось в зависимости от maven для запуска, смутило меня.

Чтобы запустить проект Maven с природой Kotlin, содержащий код Java и Kotlin в плагине Eclipse + Kotlin, необходимо добавить среду выполнения в качестве зависимости в pom.xml.

<dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-runtime</artifactId> <version>${kotlin.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib</artifactId> <version>${kotlin.version}</version> </dependency> 

Кстати, также желательно добавить стандартную библиотеку, поскольку, во всяком случае, из этого кода потребуются классы из этого кода.

Вторая часть – поиск правильной версии Kotlin для использования, которая должна быть одинаковой, используемой плагином.

Для этого мы можем проверить версию плагина

введите описание изображения здесь

Версия компилятора уже существует (1.1.1 в этом случае), но мы также можем обеспечить это, перейдя в общедоступный репозиторий исходного кода плагина Kotlin .

В github выберите правильную ветку. Возможно, «мастер», если плагин обновлен. И проверьте версию Kotlin в pom.xml.

Если эта версия не находится в центральном центре maven, необходимо будет добавить соответствующий репозиторий как в разделах repositories и в pluginRepositories в pom.xml.

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