ktlint: KtLint CLI 0.43 doesn't work with JDK 1.8

Gentoo linux latest Ktlint 0.43 binary from you repository Run in clean kotlin project

Command: git diff --name-only --cached --relative | grep '\.kt[s"]\?$' | xargs ktlint --relative

Exception in thread "main" java.util.concurrent.ExecutionException: java.lang.ExceptionInInitializerError
        at java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.util.concurrent.FutureTask.get(FutureTask.java:192)
        at com.pinterest.ktlint.KtlintCommandLine.parallel(Main.kt:576)
        at com.pinterest.ktlint.KtlintCommandLine.parallel$default(Main.kt:548)
        at com.pinterest.ktlint.KtlintCommandLine.lintFiles(Main.kt:298)
        at com.pinterest.ktlint.KtlintCommandLine.run(Main.kt:262)
        at com.pinterest.ktlint.Main.main(Main.kt:70)
Caused by: java.lang.ExceptionInInitializerError
        at com.pinterest.ktlint.internal.FileUtilsKt.lintFile(FileUtils.kt:172)
        at com.pinterest.ktlint.KtlintCommandLine.process(Main.kt:395)
        at com.pinterest.ktlint.KtlintCommandLine.access$process(Main.kt:89)
        at com.pinterest.ktlint.KtlintCommandLine$lintFiles$3.invoke$lambda-0(Main.kt:289)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.RuntimeException: java.util.zip.ZipException: invalid distance too far back
        at org.jetbrains.kotlin.com.intellij.util.ExceptionUtil.rethrow(ExceptionUtil.java:116)
        at org.jetbrains.kotlin.com.intellij.ide.plugins.PluginDescriptorLoader.loadDescriptorFromJar(PluginDescriptorLoader.java:107)
        at org.jetbrains.kotlin.com.intellij.ide.plugins.PluginManagerCore.registerExtensionPointAndExtensions(PluginManagerCore.java:1401)
        at org.jetbrains.kotlin.com.intellij.core.CoreApplicationEnvironment.registerExtensionPointAndExtensions(CoreApplicationEnvironment.java:266)
        at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$Companion.registerApplicationExtensionPointsAndExtensionsFrom(KotlinCoreEnvironment.kt:575)
        at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$Companion.createApplicationEnvironment(KotlinCoreEnvironment.kt:540)
        at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$Companion.getOrCreateApplicationEnvironment(KotlinCoreEnvironment.kt:497)
        at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$Companion.getOrCreateApplicationEnvironmentForProduction(KotlinCoreEnvironment.kt:485)
        at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$Companion.createForProduction(KotlinCoreEnvironment.kt:429)
        at com.pinterest.ktlint.core.internal.KotlinPsiFileFactoryKt.initPsiFileFactory(KotlinPsiFileFactory.kt:32)
        at com.pinterest.ktlint.core.KtLint.<clinit>(KtLint.kt:42)
        ... 8 more
Caused by: java.util.zip.ZipException: invalid distance too far back
        at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:164)
        at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
        at java.io.BufferedInputStream.read(BufferedInputStream.java:265)
        at org.jetbrains.kotlin.com.intellij.openapi.vfs.CharsetToolkit.inputStreamSkippingBOM(CharsetToolkit.java:116)
        at org.jetbrains.kotlin.com.intellij.openapi.util.JDOMUtil.load(JDOMUtil.java:351)
        at org.jetbrains.kotlin.com.intellij.ide.plugins.PluginDescriptorLoader.loadDescriptorFromJar(PluginDescriptorLoader.java:87)
        ... 17 more

Command: git diff --name-only --cached --relative | grep '\.kt[s"]\?$' | xargs ktlint .

Error:

Exception in thread "main" java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: Could not initialize class com.pinterest.ktlint.core.KtLint
        at java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.util.concurrent.FutureTask.get(FutureTask.java:192)
        at com.pinterest.ktlint.KtlintCommandLine.parallel(Main.kt:576)
        at com.pinterest.ktlint.KtlintCommandLine.parallel$default(Main.kt:548)
        at com.pinterest.ktlint.KtlintCommandLine.lintFiles(Main.kt:298)
        at com.pinterest.ktlint.KtlintCommandLine.run(Main.kt:262)
        at com.pinterest.ktlint.Main.main(Main.kt:70)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.pinterest.ktlint.core.KtLint
        at com.pinterest.ktlint.internal.FileUtilsKt.lintFile(FileUtils.kt:172)
        at com.pinterest.ktlint.KtlintCommandLine.process(Main.kt:395)
        at com.pinterest.ktlint.KtlintCommandLine.access$process(Main.kt:89)
        at com.pinterest.ktlint.KtlintCommandLine$lintFiles$3.invoke$lambda-0(Main.kt:289)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

Command: ktlint

Error:

Exception in thread "main" java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: Could not initialize class com.pinterest.ktlint.core.KtLint
        at java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.util.concurrent.FutureTask.get(FutureTask.java:192)
        at com.pinterest.ktlint.KtlintCommandLine.parallel(Main.kt:576)
        at com.pinterest.ktlint.KtlintCommandLine.parallel$default(Main.kt:548)
        at com.pinterest.ktlint.KtlintCommandLine.lintFiles(Main.kt:298)
        at com.pinterest.ktlint.KtlintCommandLine.run(Main.kt:262)
        at com.pinterest.ktlint.Main.main(Main.kt:70)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.pinterest.ktlint.core.KtLint
        at com.pinterest.ktlint.internal.FileUtilsKt.lintFile(FileUtils.kt:172)
        at com.pinterest.ktlint.KtlintCommandLine.process(Main.kt:395)
        at com.pinterest.ktlint.KtlintCommandLine.access$process(Main.kt:89)
        at com.pinterest.ktlint.KtlintCommandLine$lintFiles$3.invoke$lambda-0(Main.kt:289)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Reactions: 1
  • Comments: 21 (3 by maintainers)

Most upvoted comments

Reproduced this with the latest ktlint. Let’s pin this issue, so new people won’t create duplicates?

Btw, it works fine with the jar from maven central. The problem is in the executable jar plugin (shadow). The following works fine:

java -jar ktlint-0.43.0-all.jar test.kt

Hi, thx for fixing the issue. Is it planned to release a “bug fix” or a new minor version just containing the kotlin update, to solve this issue?

I think problem really in java version: ~/soft/android-studio/jre/bin/java -jar ktlint work fine

~/soft/android-studio/jre/bin/java -version

openjdk version "11.0.10" 2021-01-19
OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
OpenJDK 64-Bit Server VM (build 11.0.10+0-b96-7249189, mixed mode)