Getting class not found exception after shifting to JDK 11

Answered

Hi,

 

I am getting below exception if I am using JDK11 in my run configurations. But when I change it back to JDK1.8 application is running file

 

"C:\Program Files\Java\jdk-11.0.2\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.3.5\lib\idea_rt.jar=61194:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.3.5\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.3.5\lib\idea_rt.jar" com.intellij.rt.execution.CommandLineWrapper C:\Users\balab\AppData\Local\Temp\idea_classpath1350066355 com.sarada.collector.pricecollector.PriceCollectorApplicationKt
Exception in thread "main" java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at com.intellij.rt.execution.CommandLineWrapper.main(CommandLineWrapper.java:66)
Caused by: java.lang.IllegalArgumentException: Cannot instantiate interface org.springframework.context.ApplicationContextInitializer : org.springframework.boot.autoconfigure.SharedMetadataReaderFactoryContextInitializer
at org.springframework.boot.SpringApplication.createSpringFactoriesInstances(SpringApplication.java:450)
at org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:429)
at org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:420)
at org.springframework.boot.SpringApplication.<init>(SpringApplication.java:268)
at org.springframework.boot.SpringApplication.<init>(SpringApplication.java:249)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1260)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1248)
at com.sarada.collector.pricecollector.PriceCollectorApplicationKt.main(PriceCollectorApplication.kt:17)
... 5 more
Caused by: java.lang.NoClassDefFoundError: java/sql/SQLException
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:170)
at org.springframework.boot.SpringApplication.createSpringFactoriesInstances(SpringApplication.java:446)
... 12 more
Caused by: java.lang.ClassNotFoundException: java.sql.SQLException
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 14 more

Process finished with exit code 1

following is the gradle setting I am using for the same:

 

buildscript {

ext {
springBootVersion = '2.1.1.RELEASE'
kotlinVersion = '1.3.31'
}

repositories {
mavenCentral()
jcenter()
}

dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlinVersion}")
classpath("org.jetbrains.kotlin:kotlin-allopen:${kotlinVersion}")

classpath 'se.transmode.gradle:gradle-docker:1.2'
}
}


plugins {
id 'org.springframework.boot' version '2.1.4.RELEASE'
id 'org.jetbrains.kotlin.jvm' version '1.2.71'
id 'org.jetbrains.kotlin.plugin.spring' version '1.2.71'
}

apply plugin: 'io.spring.dependency-management'
apply plugin: 'docker'
apply plugin: 'war'

group = ''
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

repositories {
mavenCentral()
jcenter()
}

dependencies {
implementation 'org.springframework.boot:spring-boot-starter-cache'
implementation 'org.springframework.boot:spring-boot-starter-security'
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'

compile group: 'com.google.code.gson', name: 'gson', version: '2.8.5'
compile group: 'com.github.derjust', name: 'spring-data-dynamodb', version: '5.1.0'

compile group: 'com.amazonaws', name: 'aws-java-sdk', version: '1.11.543'
compile group: 'com.amazonaws', name: 'aws-java-sdk-core', version: '1.11.543'

compile 'com.amazonaws:aws-java-sdk-dynamodb:1.11.546'
compile 'com.github.derjust:spring-data-dynamodb:5.1.0'

testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.security:spring-security-test'
}

compileKotlin {
kotlinOptions {
freeCompilerArgs = ['-Xjsr305=strict']
jvmTarget = '11'
}
}

compileTestKotlin {
kotlinOptions {
freeCompilerArgs = ['-Xjsr305=strict']
jvmTarget = '11'
}
}

// write this docker build task, this will run just after "./gradlew build" command
task buildDocker(type: Docker, dependsOn: build) {
push = true
applicationName = bootJar.getArchiveBaseName()
dockerfile = file('Dockerfile')
doFirst {
copy {
from jar
into stageDir
}
}
}

 

 

0

Please sign in to leave a comment.