这发生在具有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工具和支持还不成熟。
1条答案
按热度按时间oaxa6hgo1#
不太合适的解决办法:我把我的
Figure
类和问题消失了,但我可以这样做,因为我有我的项目完全控制。可能更新版本的eclipse插件不会产生此错误,或者,正如注解中所建议的,切换到intellij idea是另一种选择。