将库添加到Gradle Kotlin应用程序

我将简单的Kitlon文件转换成库,文件是:

Display.kt

 package hello fun main(args: Array) { println("Hello World!") } 

已经被编译成库使用命令:

 kotlinc Display.kt -d Display.jar 

输出已被交叉检查,使用命令工作:

 kotlin -classpath Display.jar hello.DisplayKt 

然后我把它移动到文件夹src/main/resources ,然后尝试从另一个应用程序调用它,使用下面的代码:

Hello.kt

 package hello import hello.DisplayKt fun main(args: Array) { println("Hi") } 

并定义build.gradle文件如下(试图把我读到的所有选项来解决我的情况):

 // set up the kotlin-gradle plugin buildscript { ext.kotlin_version = '1.1.2-2' repositories { mavenCentral() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } // apply the kotlin-gradle plugin apply plugin: "kotlin" // add kotlin-stdlib dependencies. repositories { mavenCentral() } dependencies { //dependencies from a remote repositor compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" //local file compile files('src/main/resources/Display.jar') compile fileTree(dir: 'src/main/resources', include: '*.jar') } jar { manifest { //Define mainClassName as: '[your_namespace].[your_arctifact]Kt' attributes ('Main-Class': 'hello.HelloKt', "Implementation-Title": "Gradle", "Implementation-Version": 1) } // NEW LINE HERE !!! from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } } } sourceSets { main { java { srcDirs = ['src/kotlin'] } resources { srcDirs = ['src/resources'] } } } 

但是,运行gradle build命令后,我得到了下面的错误:

Unresolved reference: DisplayKt

注意:我对JAVA / KOTLIN和GRADLE非常新颖

我find了答案,函数的完整路径是hello.main