Intereting Posts
Kotlin: как передать объектную функцию как параметр другому? Не удалось добавить mysql-коннектор в build.gradle для проекта kotlin? Смарт-бросок в BootsrapButton невозможен, потому что endtrip является изменчивым свойством, которое к этому времени изменилось Тип функции с приемником в Scala Проблема с kotlin для Android Gradle Project: java.lang.NoClassDefFoundError: kotlin / jvm / internal / Intrinsics Как я могу объявить параметр функции, который может быть строкой или функцией в Kotlin? Kotlin: Общая функция как возвращаемый тип? Есть ли способ написать функцию расширения, которая изменяет значение объекта? Отключить проверку использования пакета «kotlin» в Gradle Коутин Котлин с возвращаемым значением Как установить автоматический импорт для Kotlin в Android Studio? Как создать пользовательскую форму кнопки, но сохранить ее кликабельную и настраиваемую Высота просмотра равна 0 при определенных условиях при переходе между действиями Создание класса данных с помощью KotlinPoet

Вызов Kotlin из Java – ошибка: демо-версия пакета не существует

Я не понимаю документацию :

Функции уровня пакета

Все функции и свойства, объявленные в файле example.kt внутри пакета org.foo.bar, включая функции расширения, скомпилированы в статические методы класса Java с именем org.foo.bar.ExampleKt.

// example.kt package demo class Foo fun bar() { } // Java new demo.Foo(); demo.ExampleKt.bar(); 

мой код ниже.

ошибка компиляции; Ошибка сборки:

 thufir@dur:~/NetBeansProjects/kotlin$ thufir@dur:~/NetBeansProjects/kotlin$ gradle compileJava > Task :compileJava /home/thufir/NetBeansProjects/kotlin/src/main/java/net/bounceme/dur/kotlin/App.java:12: error: package demo does not exist new demo.Foo(); ^ /home/thufir/NetBeansProjects/kotlin/src/main/java/net/bounceme/dur/kotlin/App.java:13: error: package demo does not exist demo.ExampleKt.bar(); ^ 2 errors FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':compileJava'. > Compilation failed; see the compiler error output for details. * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. * Get more help at https://help.gradle.org BUILD FAILED in 0s 1 actionable task: 1 executed thufir@dur:~/NetBeansProjects/kotlin$ 

источник java:

 package net.bounceme.dur.kotlin; import java.util.logging.Logger; public class App { private static final Logger LOG = Logger.getLogger(App.class.getName()); private void run() { LOG.info("running"); new demo.Foo(); demo.ExampleKt.bar(); } public static void main(String[] args) { new App().run(); } } 

kotlin источник:

 package demo; class Foo fun bar() { } 

проект:

 thufir@dur:~/NetBeansProjects/kotlin$ thufir@dur:~/NetBeansProjects/kotlin$ tree . ├── build │ ├── classes │ │ └── java │ │ └── main │ └── tmp │ └── compileJava ├── build.gradle ├── gradle │ └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src ├── main │ ├── java │ │ └── net │ │ └── bounceme │ │ └── dur │ │ └── kotlin │ │ └── App.java │ └── kotlin │ └── example.kt └── test └── java └── AppTest.java 18 directories, 9 files thufir@dur:~/NetBeansProjects/kotlin$ 

Демо-папка должна находиться под командами src / main / kotlin и example.kt под ней.

Так что это должно быть src / main / kotlin / demo / example.kt

[edit] Не требуется сопоставление каталогов и пакетов: исходные файлы могут быть помещены произвольно в файловую систему.

[edit2] Я сделал пример:

Код Java

 package test; import demo.HelloWorldKt; public class Test { public static void main(String[] args) { ExampleKt.bar(); } } 

Код Котлина:

 package demo fun bar() { println("yeah") } 

Где файл kotlin – helloWrold.kt непосредственно под src / main / kotlin

Импорт файла kotlin кажется отсутствующим в вашем java-файле.