[英]Gradle project in eclipse builds fine but java files show compilation error
[英]Compilation error in Eclipse in Kotlin + Java project, but project builds with Maven
這在具有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項目中)。
實際上, Polygon
所在的Kotlin項目實際上是作為Maven依賴項存在於類路徑中,並且實際上由Java類使用,該figure
是實例。
我認為問題出在Eclipse中,因為我可以使用maven成功構建項目。 它看起來像是Eclipse中的錯誤或配置問題。
我知道Java和Kotlin的混合使用很奇怪。 我只是用Java啟動了這個項目,然后決定逐步將其轉換為Kotlin。 到目前為止,我還沒有遇到很多問題,但是我知道Eclipse的Kotlin工具和支持還不成熟。
沒有什么合適的解決方案:我將Figure
類轉換為Kotlin,問題就消失了,但是我可以這樣做是因為我對項目有完全的控制權。
可能是較新版本的eclipse插件不會產生此錯誤,或者如注釋中所建議,切換到IntelliJ IDEA是另一種選擇。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.