这发生在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工具和支持尚未成熟。
答案 0 :(得分:0)
没有太多合适的解决方案:我将我的Figure
课转换为Kotlin并且问题消失了,但我能做到这一点,因为我完全控制了我的项目。
可能更新版本的eclipse插件不会产生此错误,或者如评论中所建议的那样,切换到IntelliJ IDEA是另一种选择。