2017-02-13 195 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即可 –