-3

My project struct

("https://i.stack.imgur.com/EykkL.png")

Build.gradle content as below

apply plugin: 'java'
apply plugin: 'kotlin'

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version"
}

sourceCompatibility = "1.7"
targetCompatibility = "1.7"
buildscript {
    ext.kotlin_version = '1.1.2-4'
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}
repositories {
    mavenCentral()
}

// override the sourceSet flow other answers.
sourceSets {
    main.java.srcDirs+= 'src/main/java'
    main.kotlin.srcDirs+= 'src/main/kotlin'
    main.resources.srcDirs += 'src/main/resources'
}

Exception when I run it

It may be compiled successfuly but when I run the kotlin codes. It throws the exception below. And the java codes run ok.

Exception in thread "main" java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics
    at KotMainKt.main(kotMain.kt)
Caused by: java.lang.ClassNotFoundException: kotlin.jvm.internal.Intrinsics
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 1 more
Sunhuihui
  • 1
  • 2

1 Answers1

0

I add the codes belows at build.gradle and fix this problem.

Links:Configuring Gradle with Kotlin

jar { manifest { attributes 'Main-Class': 'KotMainKt' }

from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }

}

Sunhuihui
  • 1
  • 2