По сути, он использует EBean, который сам использует Kapt для генерации некоторого кода.
Проблема в том, что буквально каждая вторая сборка ломается. Я собираю свой проект раз в несколько дней, запуская его через gradle ./gradlew run ....
Когда он ломается, я немного возюсь с версиями и кажется, оно само исправляется. А именно — это была версия Kotlin, с которой я постоянно сталкивался, и, похоже, она время от времени решала проблему.
Я делал это как минимум 10 раз в в прошлом году, и это сводит меня с ума.
Вот ошибка:
Код: Выделить всё
> Task :kaptGenerateStubsKotlin FAILED
e: java.lang.IllegalAccessError: superclass access check failed: class org.jetbrains.kotlin.kapt3.base.javac.KaptJavaCompiler (in unnamed module @0x65012184) cannot access class com.sun.tools.javac.main.JavaCompiler (in module jdk.compiler) b e c a u s e m o d u l e j d k . c o m p i l e r d o e s n o t e x p o r t c o m . s u n . t o o l s . j a v a c . m a i n t o u n n a m e d m o d u l e @ 0 x 6 5 0 1 2 1 8 4 < b r / > a t j a v a . b a s e / j a v a . l a n g . C l a s s L o a d e r . d e f i n e C l a s s 1 ( N a t i v e M e t h o d ) < b r / > a t j a v a . b a s e / j a v a . l a n g . C l a s s L o a d e r . d e f i n e C l a s s ( C l a s s L o a d e r . j a v a : 1 0 1 8 ) < b r / > a t j a v a . b a s e / j a v a . s e c u r i t y . S e c u r e C l a s s L o a d e r . d e f i n e C l a s s ( S e c u r e C l a s s L o a d e r . j a v a : 1 5 0 ) < b r / > a t j a v a . b a s e / j a v a . n e t . U R L C l a s s L o a d e r . d e f i n e C l a s s ( U R L C l a s s L o a d e r . j a v a : 5 2 4 ) < b r / > a t j a v a . b a s e / j a v a . n e t . U R L C l a s s L o a d e r $ 1 . r u n ( U R L C l a s s L o a d e r . j a v a : 4 2 7 ) < b r / > a t j a v a . b a s e / j a v a . n e t . U R L C l a s s L o a d e r $ 1 . r u n ( U R L C l a s s L o a d e r . j a v a : 4 2 1 ) < b r / > a t j a v a . b a s e / j a v a . s e c u r i t y . A c c e s s C o n t r o l l e r . d o P r i v i l e g e d ( A c c e s s C o n t r o l l e r . j a v a : 7 1 4 ) < b r / > a t j a v a . b a s e / j a v a . n e t . U R L C l a s s L o a d e r . f i n d C l a s s ( U R L C lassLoader.java:420)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:593)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
at org.jetbrains.kotlin.kapt3.base.KaptContext.(KaptContext.kt:55)
at org.jetbrains.kotlin.kapt3.KaptContextForStubGeneration.(KaptContextForStubGeneration.kt:38)
at org.jetbrains.kotlin.kapt3.AbstractKapt3Extension.contextForStubGeneration(Kapt3Extension.kt:278)
at org.jetbrains.kotlin.kapt3.AbstractKapt3Extension.analysisCompleted(Kapt3Extension.kt:157)
at org.jetbrains.kotlin.kapt3.ClasspathBasedKapt3Extension.analysisCompleted(Kapt3Extension.kt:87)
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$invokeExtensionsOnAnalysisComplete(TopDownAnalyzerFacadeForJVM.kt:104)
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(TopDownAnalyzerFacadeForJVM.kt:114)
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$default(TopDownAnalyzerFacadeForJVM.kt:77)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:256)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:247)
at org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport.analyzeAndReport(AnalyzerWithCompilerReport.kt:115)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze(KotlinToJVMBytecodeCompiler.kt:247)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli(KotlinToJVMBytecodeCompiler.kt:87)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli$default(KotlinToJVMBytecodeCompiler.kt:43)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:165)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:50)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:104)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:48)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:101)
at org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunner.runCompiler(IncrementalJvmCompilerRunner.kt:463)
at org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunner.runCompiler(IncrementalJvmCompilerRunner.kt:62)
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.doCompile(IncrementalCompilerRunner.kt:477)
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileImpl(IncrementalCompilerRunner.kt:400)
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileNonIncrementally(IncrementalCompilerRunner.kt:281)
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compile(IncrementalCompilerRunner.kt:125)
at org.jetbrains.kotlin.daemon.CompileServiceImplBase.execIncrementalCompiler(CompileServiceImpl.kt:657)
at org.jetbrains.kotlin.daemon.CompileServiceImplBase.access$execIncrementalCompiler(CompileServiceImpl.kt:105)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1624)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:578)
at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:360)
at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200)
at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:714)
at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196)
at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:598)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:844)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:721)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:720)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1583)
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':kaptGenerateStubsKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction
> Internal compiler error. See log for more details
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
* Get more help at https://help.gradle.org
Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.
You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
See https://docs.gradle.org/7.5/userguide/command_line_interface.html#sec:command_line_warnings
BUILD FAILED in 1s
Код: Выделить всё
java -version
java version "17.0.10" 2024-01-16 LTS
Java(TM) SE Runtime Environment (build 17.0.10+11-LTS-240)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.10+11-LTS-240, mixed mode, sharing)
Код: Выделить всё
./gradlew -version ✔ base
------------------------------------------------------------
Gradle 7.5
------------------------------------------------------------
Build time: 2022-07-14 12:48:15 UTC
Revision: c7db7b958189ad2b0c1472b6fe663e6d654a5103
Kotlin: 1.6.21
Groovy: 3.0.10
Ant: Apache Ant(TM) version 1.10.11 compiled on July 10 2021
JVM: 17.0.10 (Oracle Corporation 17.0.10+11-LTS-240)
OS: Mac OS X 13.2.1 aarch64
Код: Выделить всё
dependencies {
// query bean generation
kapt 'io.ebean:kotlin-querybean-generator:13.11.0'
implementation 'io.ebean:ebean:13.11.0'
implementation 'io.ebean:ebean-migration:13.6.0'
implementation 'io.ebean:ebean-querybean:13.11.0'
testImplementation 'io.ebean:ebean-test:13.11.0'
}
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
kotlinOptions {
jvmTarget = "17"
}
}
Код: Выделить всё
plugins {
id 'org.jetbrains.kotlin.jvm' version '1.9.20'
id "org.jetbrains.kotlin.kapt" version "1.9.20"
id 'com.github.ben-manes.versions' version '0.28.0'
id 'io.gitlab.arturbosch.detekt' version '1.22.0'
id('io.ebean') version '13.11.0'
id "com.google.protobuf" version "0.9.1"
}
apply plugin: 'java'
apply plugin: 'application'
apply plugin: 'jacoco'
Подробнее здесь: https://stackoverflow.com/questions/785 ... -other-day
Мобильная версия