混合Kotlin Java与Maven,未解决的参考
我有一个带有Kotlin代码hello.kt的Maven项目,该代码调用Java代码JavaFoo.java,该代码调用Kotlin代码KotlinFoo.kt. hello.kt也直接调用KotlinFoo.kt.我正在尝试使用mvn clean install使用kotlinlang’s Maven docs中描述的Maven设置来构建它. 如果hello.kt没有调用JavaFoo(但我将JavaFoo留在项目中),那么这个构建就好了. 文档说应该在Java编译器之前调用Kotlin编译器,这告诉我所有Kotlin代码都需要在任何Java代码之前编译,即使用这种设置你可以从Java调用Kotlin但反之亦然.但是,文档将此设置描述为“混合代码应用程序”,而不是“从Java调用Kotlin”. 换句话说,这种失败似乎与文档似乎暗示的内容一致,但与他们直接说的内容不一致 – 或者我只是误解某些东西. 我想从另一个语言中调用每种语言.有没有Maven配置可以做到这一点,好吗? (我查看了有关混合代码设置的各种StackExchange问??题,但没有一个解决方案适用于我.) 按要求添加代码:
最佳答案
编译失败,因为您的Java类不在与其package语句匹配的目录中.虽然Kotlin允许您将类放在任何目录中而不管它们所在的包中,但Java要求您将每个文件放在与其目录对应的包中.此要求也适用于混合语言项目.
要修复错误,请将JavaFoo.java移动到src / main / java / com / example / kotlindemo. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |