Justin Yue
08/18/2021, 5:58 AMjava.lang.ClassNotFoundException
. I believe the issue has to do with my build.gradle.kts file, which I'll put in a thread below.Justin Yue
08/18/2021, 5:58 AMimport org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
id("org.springframework.boot") version "2.5.3"
id("io.spring.dependency-management") version "1.0.11.RELEASE"
kotlin("jvm") version "1.5.21"
kotlin("plugin.spring") version "1.5.21"
}
group = "com.example"
version = "0.0.1-SNAPSHOT"
java.sourceCompatibility = JavaVersion.VERSION_15
configurations {
compileOnly {
extendsFrom(configurations.annotationProcessor.get())
}
}
repositories {
mavenCentral()
}
dependencies {
implementation("org.springframework.boot:spring-boot-starter-data-mongodb")
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
implementation("org.jetbrains.kotlin:kotlin-reflect")
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
compileOnly("org.projectlombok:lombok")
annotationProcessor("org.projectlombok:lombok")
testImplementation("org.springframework.boot:spring-boot-starter-test")
implementation("com.graphql-java-kickstart:graphql-spring-boot-starter:11.1.0")
implementation("com.graphql-java-kickstart:graphiql-spring-boot-starter:11.1.0")
implementation("com.graphql-java-kickstart:graphql-java-tools:11.0.1")
}
tasks.withType<KotlinCompile> {
kotlinOptions {
freeCompilerArgs = listOf("-Xjsr305=strict")
jvmTarget = "15"
}
}
tasks.jar {
manifest {
attributes["Main-Class"] = "com.example.kotlingraphql.KotlinGraphqlApplicationKt"
}
}
tasks.withType<Test> {
useJUnitPlatform()
}
springBoot {
mainClass.set("com.example.kotlingraphql.KotlinGraphqlApplicationKt")
}
Justin Yue
08/18/2021, 5:59 AMpackage com.example.kotlingraphql
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.runApplication
import org.springframework.data.mongodb.repository.config.EnableMongoRepositories
@SpringBootApplication
@EnableMongoRepositories(basePackages = ["com.example.kotlingraphql.repository"])
class KotlinGraphqlApplication
fun main(args: Array<String>) {
runApplication<KotlinGraphqlApplication>(*args)
}
Justin Yue
08/18/2021, 6:02 AMVampire
08/18/2021, 7:54 AMimplementation(platform("the spring boot bom"))
instead. 2. Adding a main class manifest attribute manually is in the best case just unnecessary, in the worst case it is causing your issue.kqr
08/18/2021, 8:11 AMVampire
08/18/2021, 9:02 AMjar
task, doesn't it?
So I just assumed he does.
But well, then modifying the standard jar
task also would not disturb but just be useless.
Can you maybe provide an MCVE that reproduces the problem?kqr
08/18/2021, 10:06 AMkqr
08/18/2021, 10:07 AMkqr
08/18/2021, 10:08 AMJustin Yue
08/18/2021, 5:35 PMJustin Yue
08/18/2021, 5:37 PMfrom(sourceSets.main.get().output)
dependsOn(configurations.runtimeClasspath)
from({
configurations.runtimeClasspath.get().map { if (it.isDirectory) it else zipTree(it)}
})
to the tasks.jar block, and after some builds, the error went away (although build is now failing on heroku and i suppose that's an issue that cannot be solved here)Vampire
08/18/2021, 6:03 PM