Eclipse中Kotlin + Java项目中的编译错误,但是使用Maven进行项目构建

时间:2017-09-05 02:04:47

标签: java eclipse maven kotlin

这发生在Eclipse中具有kotlin性质的Java和maven项目中。

在这部分代码中:

    val faces = figure.getFaces()       
    for (polygon in faces) {
        //...

我在eclipse中收到以下错误,其中faces在上面的第二行用红色加下划线:

Cannot access class 'Polygon'. Check your module classpath for missing or conflicting dependencies

该项目是Java和Kotlin的混合体。 figure对象是Java类的实例,而faces是一组类型Polygon,它位于纯Kotlin的不同项目中(即Polygon是一个Kotlin类型,在一个单独的Kotlin项目中。)

这个Kotlin项目Polygon确实在类路径中作为Maven依赖项,实际上是由figure实例的Java类使用。

我认为问题出在Eclipse中,因为我可以成功地使用maven构建项目。它看起来像是eclipse中的错误或配置问题。

我知道混合Java和Kotlin很奇怪。我只是用Java开始这个项目,然后决定逐渐将它转换为Kotlin。到目前为止,我还没有遇到很多问题,但我知道日食中的Kotlin工具和支持尚未成熟。

1 个答案:

答案 0 :(得分:0)

没有太多合适的解决方案:我将我的Figure课转换为Kotlin并且问题消失了,但我能做到这一点,因为我完全控制了我的项目。

可能更新版本的eclipse插件不会产生此错误,或者如评论中所建议的那样,切换到IntelliJ IDEA是另一种选择。