[kapt] An exception occurred: java.lang.NoClassDefFoundError: org/mvel2/compiler/Accessor

923 views
Skip to first unread message

Mustafa Aktan

unread,
Sep 15, 2018, 4:15:23 PM9/15/18
to vert.x

I have 51 classes with @DataObject(generateConverter = true)
If I was compile I got a kapt error. But When I delete any of them It's work normally. No matter which one I delete.

(Summarize) Number of @DataObject classes = 51 and upper kapt error, 50 and below successfully. Is not strange it to you?


build.gradle

buildscript {
    ext
.kotlin_version = '1.2.70'
    ext
.vertx_version = '3.5.3'
    ext
.arrow_version = '0.7.3'
    ext
.mockk_version = '1.8.7'
    repositories
{
        mavenCentral
()
   
}
    dependencies
{
        classpath
"org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath
'org.junit.platform:junit-platform-gradle-plugin:1.0.0'
   
}
}
apply plugin
: 'java'
apply plugin
: 'kotlin'
apply plugin
: 'kotlin-kapt'
apply plugin
: 'org.junit.platform.gradle.plugin'
apply plugin
: 'idea'
sourceCompatibility
= "1.8"
targetCompatibility
= "1.8"
repositories
{
    mavenCentral
()
    maven
{ url "https://dl.bintray.com/kotlin/exposed" }
}
dependencies
{
    compile fileTree
(dir: 'libs', include: ['*.jar'])
    implementation
"org.jetbrains.kotlin:kotlin-stdlib-jdk8"
    implementation
"org.jetbrains.kotlin:kotlin-reflect"
    implementation
'org.jetbrains.exposed:exposed:0.10.5'
    implementation
'com.auth0:java-jwt:3.4.0'
    implementation
'com.rabbitmq:amqp-client:5.4.1'
    implementation
'com.microsoft.sqlserver:mssql-jdbc:7.0.0.jre8'
    implementation
'com.fasterxml.jackson.module:jackson-module-kotlin:2.9.6'
    implementation
"io.vertx:vertx-web:$vertx_version"
    implementation
"io.vertx:vertx-core:$vertx_version"
    implementation
"io.vertx:vertx-lang-kotlin:$vertx_version"
    implementation
"io.vertx:vertx-lang-kotlin-coroutines:$vertx_version"
    implementation
"io.vertx:vertx-jdbc-client:$vertx_version"
    implementation
"io.vertx:vertx-rx-java2:$vertx_version"
    implementation
"io.vertx:vertx-rabbitmq-client:$vertx_version"
    implementation
"io.vertx:vertx-service-proxy:$vertx_version"
    implementation
"org.mvel:mvel2:2.4.2.Final" <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    compileOnly
"io.vertx:vertx-codegen:$vertx_version"
    implementation
"io.vertx:vertx-service-discovery:$vertx_version"
    implementation
"io.vertx:vertx-hazelcast:$vertx_version"
    kapt
"io.vertx:vertx-codegen:$vertx_version:processor"
    implementation
"io.arrow-kt:arrow-core:$arrow_version"
    implementation
"io.arrow-kt:arrow-syntax:$arrow_version"
    implementation
"io.arrow-kt:arrow-typeclasses:$arrow_version"
    implementation
"io.arrow-kt:arrow-data:$arrow_version"

    implementation
"io.arrow-kt:arrow-instances-core:$arrow_version"
    implementation
"io.arrow-kt:arrow-instances-data:$arrow_version"
    kapt
"io.arrow-kt:arrow-annotations-processor:$arrow_version"
    testImplementation
"io.mockk:mockk:$mockk_version"
    testImplementation
group: 'junit', name: 'junit', version: '4.12'
    testImplementation
'org.junit.jupiter:junit-jupiter-api:5.1.1'
    testRuntimeOnly
'org.junit.jupiter:junit-jupiter-engine:5.1.1'
    testCompile
"org.junit.platform:junit-platform-runner:1.3.0"
}
junitPlatform
{
    platformVersion
'1.0.0'
    filters
{
        engines
{
            include
'junit-jupiter', 'junit-vintage'
       
}
   
}
    logManager
'org.apache.logging.log4j.jul.LogManager'
}
compileKotlin
{
    kotlinOptions
.jvmTarget = "1.8"
}
compileTestKotlin
{
    kotlinOptions
.jvmTarget = "1.8"
}
kotlin
{
    experimental
{
        coroutines
"enable"
   
}
}
sourceSets
{
    main
{
        resources
{
            srcDir
"config"
       
}
   
}
    main
.java.srcDirs += [file("$buildDir/generated/source/kapt/main")]
    main
.kotlin.srcDirs += [file("$buildDir/generated/source/kapt-kotlin/main")]
}



Error log:


22:13:48: Executing task 'compileKotlin'...
> Task :wrapper
BUILD SUCCESSFUL
in 0s
1 actionable task: 1 executed
> Task :backend:kaptGenerateStubsKotlin UP-TO-DATE
w
: C:\Users\ms\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib-jre7\1.2.20\1ba23e74292b5af8980efde762fdd44fb61ddc2\kotlin-stdlib-jre7-1.2.20.jar: kotlin-stdlib-jre7 is deprecated. Please use kotlin-stdlib-jdk7 instead
w
: C:\Users\ms\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib-jre8\1.2.20\f77d7863695e17041b50ebe5e2f87e5314a2c812\kotlin-stdlib-jre8-1.2.20.jar: kotlin-stdlib-jre8 is deprecated. Please use kotlin-stdlib-jdk8 instead
e
: [kapt] An exception occurred: java.lang.NoClassDefFoundError: org/mvel2/compiler/Accessor
    at java
.lang.ClassLoader.defineClass1(Native Method)
    at java
.lang.ClassLoader.defineClass(ClassLoader.java:763)
    at java
.lang.ClassLoader.defineClass(ClassLoader.java:642)
    at org
.mvel2.optimizers.impl.asm.ASMAccessorOptimizer$ContextClassLoader.defineClass(ASMAccessorOptimizer.java:2243)
    at org
.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.loadClass(ASMAccessorOptimizer.java:2252)
    at org
.mvel2.optimizers.impl.asm.ASMAccessorOptimizer._initializeAccessor(ASMAccessorOptimizer.java:748)
    at org
.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.compileAccessor(ASMAccessorOptimizer.java:891)
    at org
.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.optimizeAccessor(ASMAccessorOptimizer.java:279)
    at org
.mvel2.optimizers.dynamic.DynamicGetAccessor.optimize(DynamicGetAccessor.java:95)
    at org
.mvel2.optimizers.dynamic.DynamicGetAccessor.getValue(DynamicGetAccessor.java:65)
    at org
.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:108)
    at org
.mvel2.ast.BinaryOperation.getReducedValueAccelerated(BinaryOperation.java:117)
    at org
.mvel2.ast.BinaryOperation.getReducedValueAccelerated(BinaryOperation.java:117)
    at org
.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:38)
    at org
.mvel2.ast.IfNode.getReducedValueAccelerated(IfNode.java:74)
    at org
.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:42)
    at org
.mvel2.MVEL.executeExpression(MVEL.java:968)
    at io
.vertx.codegen.CodeGenProcessor.lambda$process$6(CodeGenProcessor.java:224)
    at java
.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
    at java
.util.HashMap$EntrySpliterator.forEachRemaining(HashMap.java:1696)
    at java
.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
    at java
.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
    at java
.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:312)
    at java
.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:742)
    at java
.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
    at io
.vertx.codegen.CodeGenProcessor.process(CodeGenProcessor.java:207)
    at org
.jetbrains.kotlin.kapt3.base.ProcessorWrapper.process(annotationProcessing.kt:99)
    at com
.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:794)
    at com
.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:705)
    at com
.sun.tools.javac.processing.JavacProcessingEnvironment.access$1800(JavacProcessingEnvironment.java:91)
    at com
.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1035)
    at com
.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1176)
    at com
.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1170)
    at com
.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1068)
    at org
.jetbrains.kotlin.kapt3.base.AnnotationProcessingKt.doAnnotationProcessing(annotationProcessing.kt:55)
    at org
.jetbrains.kotlin.kapt3.base.AnnotationProcessingKt.doAnnotationProcessing$default(annotationProcessing.kt:27)
    at org
.jetbrains.kotlin.kapt3.AbstractKapt3Extension.runAnnotationProcessing(Kapt3Extension.kt:213)
    at org
.jetbrains.kotlin.kapt3.AbstractKapt3Extension.analysisCompleted(Kapt3Extension.kt:178)
    at org
.jetbrains.kotlin.kapt3.ClasspathBasedKapt3Extension.analysisCompleted(Kapt3Extension.kt:96)
    at org
.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM$analyzeFilesWithJavaIntegration$2.invoke(TopDownAnalyzerFacadeForJVM.kt:95)
    at org
.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(TopDownAnalyzerFacadeForJVM.kt:105)
    at org
.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$default(TopDownAnalyzerFacadeForJVM.kt:82)
    at org
.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:375)
    at org
.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:67)
    at org
.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport.analyzeAndReport(AnalyzerWithCompilerReport.kt:107)
    at org
.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze(KotlinToJVMBytecodeCompiler.kt:366)
    at org
.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli(KotlinToJVMBytecodeCompiler.kt:120)
    at org
.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:161)
    at org
.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:57)
    at org
.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.java:96)
    at org
.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.java:52)
    at org
.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:93)
    at org
.jetbrains.kotlin.daemon.CompileServiceImpl$compile$1$1$2.invoke(CompileServiceImpl.kt:441)
    at org
.jetbrains.kotlin.daemon.CompileServiceImpl$compile$1$1$2.invoke(CompileServiceImpl.kt:101)
    at org
.jetbrains.kotlin.daemon.CompileServiceImpl$doCompile$$inlined$ifAlive$lambda$2.invoke(CompileServiceImpl.kt:1020)
    at org
.jetbrains.kotlin.daemon.CompileServiceImpl$doCompile$$inlined$ifAlive$lambda$2.invoke(CompileServiceImpl.kt:101)
    at org
.jetbrains.kotlin.daemon.common.DummyProfiler.withMeasure(PerfUtils.kt:137)
    at org
.jetbrains.kotlin.daemon.CompileServiceImpl.checkedCompile(CompileServiceImpl.kt:1062)
    at org
.jetbrains.kotlin.daemon.CompileServiceImpl.doCompile(CompileServiceImpl.kt:1019)
    at org
.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:440)
    at sun
.reflect.GeneratedMethodAccessor130.invoke(Unknown Source)
    at sun
.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java
.lang.reflect.Method.invoke(Method.java:498)
    at sun
.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357)
    at sun
.rmi.transport.Transport$1.run(Transport.java:200)
    at sun
.rmi.transport.Transport$1.run(Transport.java:197)
    at java
.security.AccessController.doPrivileged(Native Method)
    at sun
.rmi.transport.Transport.serviceCall(Transport.java:196)
    at sun
.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:573)
    at sun
.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:834)
    at sun
.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:688)
    at java
.security.AccessController.doPrivileged(Native Method)
    at sun
.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:687)
    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.ClassNotFoundException: org.mvel2.compiler.Accessor
    at java
.lang.ClassLoader.findClass(ClassLoader.java:530)
    at java
.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java
.lang.ClassLoader.loadClass(ClassLoader.java:357)
   
... 76 more
> Task :backend:kaptKotlin FAILED
FAILURE
: Build failed with an exception.
* What went wrong:
Execution failed for task ':backend:kaptKotlin'.
> Compilation 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
BUILD FAILED
in 1s
2 actionable tasks: 1 executed, 1 up-to-date
Compilation error. See log for more details
22:13:50: Task execution finished 'compileKotlin'.

































Julien Viet

unread,
Sep 17, 2018, 7:09:18 AM9/17/18
to ve...@googlegroups.com
Hi,

can you try with latest vertx snapshot ? (3.6.0-SNAPSHOT)

Julien

--
You received this message because you are subscribed to the Google Groups "vert.x" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vertx+un...@googlegroups.com.
Visit this group at https://groups.google.com/group/vertx.
To view this discussion on the web, visit https://groups.google.com/d/msgid/vertx/0953ee35-9251-4d99-bf85-08bde4e13d8d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Mustafa Aktan

unread,
Sep 17, 2018, 7:48:32 AM9/17/18
to vert.x
This time I get this error;

1 actionable task: 1 executed
> Task :backend:
kaptGenerateStubsKotlin
e
: [kapt] An exception occurred: java.lang.NoClassDefFoundError: io/vertx/lang/rxjava/AbstractRxGenerator

 at java
.lang.ClassLoader.defineClass1(Native Method)
 at java
.lang.ClassLoader.defineClass(ClassLoader.java:763)

 at java
.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
 at java
.net.URLClassLoader.defineClass(URLClassLoader.java:467)
 at java
.net.URLClassLoader.access$100(URLClassLoader.java:73)
 at java
.net.URLClassLoader$1.run(URLClassLoader.java:368)
 at java
.net.URLClassLoader$1.run(URLClassLoader.java:362)
 at java
.security.AccessController.doPrivileged(Native Method)
 at java
.net.URLClassLoader.findClass(URLClassLoader.java:361)

 at java
.lang.ClassLoader.loadClass(ClassLoader.java:424)
 at java
.lang.ClassLoader.loadClass(ClassLoader.java:357)

 at io
.vertx.lang.reactivex.RxJava2GeneratorLoader.loadGenerators(RxJava2GeneratorLoader.java:12)
 at io
.vertx.codegen.CodeGenProcessor.lambda$getCodeGenerators$2(CodeGenProcessor.java:109)
 at java
.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:267)
 at java
.util.Iterator.forEachRemaining(Iterator.java:116)
 at java
.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
 at java
.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:742)

 at java
.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
 at java
.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)

 at java
.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
 at java
.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
 at java
.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
 at io
.vertx.codegen.CodeGenProcessor.getCodeGenerators(CodeGenProcessor.java:127)
 at io
.vertx.codegen.CodeGenProcessor.process(CodeGenProcessor.java:137)

 at sun
.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun
.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

 at sun
.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java
.lang.reflect.Method.invoke(Method.java:498)
 at sun
.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357)
 at sun
.rmi.transport.Transport$1.run(Transport.java:200)
 at sun
.rmi.transport.Transport$1.run(Transport.java:197)
 at java
.security.AccessController.doPrivileged(Native Method)
 at sun
.rmi.transport.Transport.serviceCall(Transport.java:196)
 at sun
.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:573)
 at sun
.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:834)
 at sun
.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:688)
 at java
.security.AccessController.doPrivileged(Native Method)
 at sun
.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:687)
 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.ClassNotFoundException: io.vertx.lang.rxjava.AbstractRxGenerator
 at java
.net.URLClassLoader.findClass(URLClassLoader.java:381)

 at java
.lang.ClassLoader.loadClass(ClassLoader.java:424)
 at java
.lang.ClassLoader.loadClass(ClassLoader.java:357)

 
... 75 more
> Task :backend:kaptKotlin FAILED




17 Eylül 2018 Pazartesi 14:09:18 UTC+3 tarihinde Julien Viet yazdı:

Mustafa Aktan

unread,
Sep 17, 2018, 8:04:41 AM9/17/18
to vert.x
Codegen library showing in test source maybe something went wrong
Untitled.png

Mustafa Aktan

unread,
Sep 17, 2018, 8:06:18 AM9/17/18
to vert.x
sourceSets {
 main
.resources.srcDir('config')
 main
.java.srcDirs += 'src/main/kotlin'
 test
.java.srcDirs += 'src/test/kotlin'
}


Mustafa Aktan

unread,
Sep 17, 2018, 8:31:38 AM9/17/18
to vert.x
Dependency location solved when I was add this;
 
sourceSets {
    main
.resources.srcDir('config')
    main
.java.srcDirs += 'src/main/java'
    main
.java.srcDirs += 'src/main/kotlin'

    main
.java.srcDirs += [file("$buildDir/generated/source/kapt/main")]

    test
.java.srcDirs += 'src/test/kotlin'
}




But same problem still continue
Untitled.png

Julien Viet

unread,
Sep 18, 2018, 3:43:16 AM9/18/18
to ve...@googlegroups.com
I think you need vertx-rx-java in your classpath as well

Julien Viet

unread,
Sep 18, 2018, 3:43:29 AM9/18/18
to ve...@googlegroups.com
it seems an incorrect resolution indeed.

On 17 Sep 2018, at 14:04, Mustafa Aktan <spyde...@gmail.com> wrote:

Codegen library showing in test source maybe something went wrong

--
You received this message because you are subscribed to the Google Groups "vert.x" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vertx+un...@googlegroups.com.
Visit this group at https://groups.google.com/group/vertx.

For more options, visit https://groups.google.com/d/optout.
<Untitled.png>

Julien Viet

unread,
Sep 18, 2018, 3:44:06 AM9/18/18
to ve...@googlegroups.com
can you provide a reproducer project ?

--
You received this message because you are subscribed to the Google Groups "vert.x" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vertx+un...@googlegroups.com.
Visit this group at https://groups.google.com/group/vertx.

Mustafa Aktan

unread,
Sep 18, 2018, 5:16:06 AM9/18/18
to vert.x
Thank you the problem seems to be solved but now I get this error: 

Could not generate model for Companion: type UserService.Companion is not legal for use for a constant type in code generation
    public static final UserService.Companion Companion = null;
 
@ProxyGen
@VertxGen
interface UserService {
   
@GenIgnore
    companion
object {
       
const val ADDRESS = "user.service"
       

   
}
 

}



18 Eylül 2018 Salı 10:43:16 UTC+3 tarihinde Julien Viet yazdı:

Julien Viet

unread,
Sep 18, 2018, 6:09:52 AM9/18/18
to ve...@googlegroups.com
can you provide a reproducer project ?
Reply all
Reply to author
Forward
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
0 new messages