2017-02-13 98 views
2

因爲我無法解決我與kotlin的問題,所以我決定返回到groovy以實現該插件。groovy無法解析kotlin類

但是我遇到了這個問題。我有這樣的項目結構。

enter image description here

爲了不重寫所有課程,我決定重用kotlin實現的類。

但是我的班FileProcessingCoreGroovy & DownloadCoreGroovy無法解決類ProcessStreamUnpackStream

我以爲他們應該可以自由使用對方,但我想我錯了。問題是什麼?

本身是進口的就好了由IDE(未標示爲紅色等)的類

enter image description here

控制檯輸出看起來像這樣(我使用另一個類,我導入PluginUtilskotlin類)

:clean                   
:compileKotlin (...multiple deprecated messages...) 
:compileJava UP-TO-DATE  
:compileGroovy     
startup failed:     
D:\groovy_apps\MISC\gradle-app-environment-plugin\src\main\groovy\com.lapots.gradle.plugins.appenv\ApplicationEnvironmentGroovyPlugin.g 
roovy: 4: unable to resolve class com.lapots.gradle.plugins.appenv.core.PluginUtils 
@ line 4, column 1. 
    import com.lapots.gradle.plugins.appenv.core.PluginUtils 
^       
+0

你在groovy文件之前編譯kotlin文件嗎? – cfrick

+0

嗯。我使用默認順序,根據它,它按順序編譯「compileKotlin」,「compileJava」,「compileGroovy」。 – lapots

+0

你在編譯或運行時遇到錯誤嗎? – cfrick

回答

0

我有同樣的問題。它與Kotlin伴侶對象有關。我將靜態函數從伴隨對象移動到包級別,並開始工作。

3

看起來並不那麼簡單。

見從那裏https://discuss.gradle.org/t/kotlin-groovy-and-java-compilation/14903/2

使用的建議,我加

compileGroovy { 
    dependsOn tasks.getByPath('compileKotlin') 
    classpath += files(compileKotlin.destinationDir) 
} 

和它的工作。

+0

您也可以複製它以進行測試編譯。只需用compileTestGroovy替換compileGroovy,然後用compileTestKotlin替換compileKotlin即可 –