kotlin+java项目中的eclipse中存在编译错误,但项目是用maven构建的

prdp8dxp  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(301)

这发生在具有kotlin特性的eclipse中的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依赖项的,实际上是由java类使用的 figure 是一个示例。
我认为问题出在eclipse中,因为我可以用maven成功地构建项目。它看起来要么是eclipse中的bug,要么是配置问题。
我知道java和kotlin的混合很奇怪。我只是用java启动了这个项目,然后决定逐步将其转换为kotlin。到目前为止,我还没有遇到很多问题,但我知道eclipse中的kotlin工具和支持还不成熟。

oaxa6hgo

oaxa6hgo1#

不太合适的解决办法:我把我的 Figure 类和问题消失了,但我可以这样做,因为我有我的项目完全控制。
可能更新版本的eclipse插件不会产生此错误,或者,正如注解中所建议的,切换到intellij idea是另一种选择。

相关问题