jmapper-framework / jmapper-core

Elegance, high performance and robustness all in one java bean mapper
http://jmapper-framework.github.io/jmapper-core
Apache License 2.0
227 stars 41 forks source link

Quarkus JMapper error in mapper constructor #100

Open sajanmje27 opened 2 years ago

sajanmje27 commented 2 years ago

Describe the bug

We are creating new Rest Api using Quarkus, postgresql, JMapper and lombok. Jmapper throwing below error while calling api not sure why. Added lombok, jmapper-core details of the pom.xml and added detail error message. please let me know if any more details is required. I am new too JAVA and quarkus. thanks in advance.

my POC Project. https://github.com/FishTechnology/cana-api.git

<dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.18.22</version>
      <scope>provided</scope>
 </dependency>
 <dependency>
      <groupId>com.googlecode.jmapper-framework</groupId>
      <artifactId>jmapper-core</artifactId>
      <version>1.6.1.CR2</version>
 </dependency>

Expected behavior

public GlobalVariableResourceMapperImpl() { mapperGlobalVariableModel = new JMapper<>(GlobalVariableModel.class, GlobalVariableDao.class); }

mapperGlobalVariableModel having JMapper instance

Actual behavior

throwing error.

2021-10-10 17:45:24,349 INFO  [io.quarkus] (Quarkus Main Thread) cana-codelessautomation-api 1.0.0-SNAPSHOT on JVM (powered by Quarkus 2.3.0.Final) started in 2.677s. Listening on: http://localhost:8080
2021-10-10 17:45:24,351 INFO  [io.quarkus] (Quarkus Main Thread) Profile dev activated. Live Coding activated.
2021-10-10 17:45:24,351 INFO  [io.quarkus] (Quarkus Main Thread) Installed features: [agroal, cdi, hibernate-orm, hibernate-orm-panache, hibernate-validator, jdbc-postgresql, narayana-jta, rest-client, resteasy, resteasy-jackson, smallrye-context-propagation, smallrye-openapi, swagger-ui, vertx]
2021-10-10 17:46:01,884 WARN  [org.ref.Reflections] (executor-thread-0) given scan urls are empty. set urls in the configuration
2021-10-10 17:46:01,928 ERROR [com.goo.jma.JMapper] (executor-thread-0) ConversionBodyIllegalCodeException: There is an error in the generated method. Additional information: [source error] no such class: cana.codelessautomation.api.resources.environment.models.CreateEnvironmentModel
2021-10-10 17:46:01,932 ERROR [io.qua.ver.htt.run.QuarkusErrorHandler] (executor-thread-0) HTTP Request to /api/environments?userId=2680912425326220290 failed, error id: 892c8f38-3a3e-49cd-a44e-6fe439307cf3-1: org.jboss.resteasy.spi.UnhandledException: java.lang.RuntimeException: Error injecting cana.codelessautomation.api.resources.environment.mappers.EnvironmentResourceMapper cana.codelessautomation.api.resources.environment.EnvironmentResource.environmentResourceMapper
    at org.jboss.resteasy.core.ExceptionHandler.handleException(ExceptionHandler.java:381)
    at org.jboss.resteasy.core.SynchronousDispatcher.writeException(SynchronousDispatcher.java:218)
    at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:519)
    at org.jboss.resteasy.core.SynchronousDispatcher.lambda$invoke$4(SynchronousDispatcher.java:261)
    at org.jboss.resteasy.core.SynchronousDispatcher.lambda$preprocess$0(SynchronousDispatcher.java:161)
    at org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:364)
    at org.jboss.resteasy.core.SynchronousDispatcher.preprocess(SynchronousDispatcher.java:164)
    at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:247)
    at io.quarkus.resteasy.runtime.standalone.RequestDispatcher.service(RequestDispatcher.java:73)
    at io.quarkus.resteasy.runtime.standalone.VertxRequestHandler.dispatch(VertxRequestHandler.java:135)
    at io.quarkus.resteasy.runtime.standalone.VertxRequestHandler$1.run(VertxRequestHandler.java:90)
    at io.quarkus.vertx.core.runtime.VertxCoreRecorder$13.runWith(VertxCoreRecorder.java:543)
    at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2449)
    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1478)
    at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
    at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: java.lang.RuntimeException: Error injecting cana.codelessautomation.api.resources.environment.mappers.EnvironmentResourceMapper cana.codelessautomation.api.resources.environment.EnvironmentResource.environmentResourceMapper
    at cana.codelessautomation.api.resources.environment.EnvironmentResource_Bean.create(EnvironmentResource_Bean.zig:197)
    at cana.codelessautomation.api.resources.environment.EnvironmentResource_Bean.create(EnvironmentResource_Bean.zig:263)
    at io.quarkus.arc.impl.AbstractSharedContext.createInstanceHandle(AbstractSharedContext.java:96)
    at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:29)
    at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:26)
    at io.quarkus.arc.impl.LazyValue.get(LazyValue.java:26)
    at io.quarkus.arc.impl.ComputingCache.computeIfAbsent(ComputingCache.java:69)
    at io.quarkus.arc.impl.AbstractSharedContext.get(AbstractSharedContext.java:26)
    at cana.codelessautomation.api.resources.environment.EnvironmentResource_Bean.get(EnvironmentResource_Bean.zig:295)
    at cana.codelessautomation.api.resources.environment.EnvironmentResource_Bean.get(EnvironmentResource_Bean.zig:311)
    at io.quarkus.arc.impl.ArcContainerImpl.beanInstanceHandle(ArcContainerImpl.java:440)
    at io.quarkus.arc.impl.ArcContainerImpl.beanInstanceHandle(ArcContainerImpl.java:453)
    at io.quarkus.arc.impl.ArcContainerImpl$1.get(ArcContainerImpl.java:276)
    at io.quarkus.arc.impl.ArcContainerImpl$1.get(ArcContainerImpl.java:273)
    at io.quarkus.resteasy.common.runtime.QuarkusConstructorInjector.construct(QuarkusConstructorInjector.java:52)
    at org.jboss.resteasy.plugins.server.resourcefactory.POJOResourceFactory.createResource(POJOResourceFactory.java:71)
    at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:401)
    at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:69)
    at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:492)
    ... 15 more
Caused by: com.googlecode.jmapper.exceptions.JMapperException: com.googlecode.jmapper.exceptions.ConversionBodyIllegalCodeException: There is an error in the generated method. Additional information: [source error] no such class: cana.codelessautomation.api.resources.environment.models.CreateEnvironmentModel
    at com.googlecode.jmapper.config.JmapperLog.error(JmapperLog.java:46)
    at com.googlecode.jmapper.JMapper.<init>(JMapper.java:437)
    at com.googlecode.jmapper.JMapper.<init>(JMapper.java:373)
    at com.googlecode.jmapper.JMapper.<init>(JMapper.java:360)
    at cana.codelessautomation.api.resources.environment.mappers.EnvironmentResourceMapperImpl.<init>(EnvironmentResourceMapperImpl.java:23)
    at cana.codelessautomation.api.resources.environment.mappers.EnvironmentResourceMapperImpl_ClientProxy.<init>(EnvironmentResourceMapperImpl_ClientProxy.zig:24)
    at cana.codelessautomation.api.resources.environment.mappers.EnvironmentResourceMapperImpl_Bean.proxy(EnvironmentResourceMapperImpl_Bean.zig:40)
    at cana.codelessautomation.api.resources.environment.mappers.EnvironmentResourceMapperImpl_Bean.get(EnvironmentResourceMapperImpl_Bean.zig:198)
    at cana.codelessautomation.api.resources.environment.mappers.EnvironmentResourceMapperImpl_Bean.get(EnvironmentResourceMapperImpl_Bean.zig:214)
    at cana.codelessautomation.api.resources.environment.EnvironmentResource_Bean.create(EnvironmentResource_Bean.zig:180)
    ... 33 more
Caused by: com.googlecode.jmapper.exceptions.ConversionBodyIllegalCodeException: There is an error in the generated method. Additional information: [source error] no such class: cana.codelessautomation.api.resources.environment.models.CreateEnvironmentModel
    at com.googlecode.jmapper.config.Error.bodyContainsIllegalCode(Error.java:186)
    at com.googlecode.jmapper.generation.JavassistGenerator.generate(JavassistGenerator.java:85)
    at com.googlecode.jmapper.generation.MapperGenerator.generateMapperClass(MapperGenerator.java:75)
    at com.googlecode.jmapper.generation.MapperBuilder.generate(MapperBuilder.java:90)
    at com.googlecode.jmapper.JMapper.createMapper(JMapper.java:450)
    at com.googlecode.jmapper.JMapper.<init>(JMapper.java:432)
    ... 41 more

2021-10-10 17:45:24,349 INFO  [io.quarkus] (Quarkus Main Thread) cana-codelessautomation-api 1.0.0-SNAPSHOT on JVM (powered by Quarkus 2.3.0.Final) started in 2.677s. Listening on: http://localhost:8080
2021-10-10 17:45:24,351 INFO  [io.quarkus] (Quarkus Main Thread) Profile dev activated. Live Coding activated.
2021-10-10 17:45:24,351 INFO  [io.quarkus] (Quarkus Main Thread) Installed features: [agroal, cdi, hibernate-orm, hibernate-orm-panache, hibernate-validator, jdbc-postgresql, narayana-jta, rest-client, resteasy, resteasy-jackson, smallrye-context-propagation, smallrye-openapi, swagger-ui, vertx]
2021-10-10 17:46:01,884 WARN  [org.ref.Reflections] (executor-thread-0) given scan urls are empty. set urls in the configuration
2021-10-10 17:46:01,928 ERROR [com.goo.jma.JMapper] (executor-thread-0) ConversionBodyIllegalCodeException: There is an error in the generated method. Additional information: [source error] no such class: cana.codelessautomation.api.resources.environment.models.CreateEnvironmentModel
2021-10-10 17:46:01,932 ERROR [io.qua.ver.htt.run.QuarkusErrorHandler] (executor-thread-0) HTTP Request to /api/environments?userId=2680912425326220290 failed, error id: 892c8f38-3a3e-49cd-a44e-6fe439307cf3-1: org.jboss.resteasy.spi.UnhandledException: java.lang.RuntimeException: Error injecting cana.codelessautomation.api.resources.environment.mappers.EnvironmentResourceMapper cana.codelessautomation.api.resources.environment.EnvironmentResource.environmentResourceMapper
    at org.jboss.resteasy.core.ExceptionHandler.handleException(ExceptionHandler.java:381)
    at org.jboss.resteasy.core.SynchronousDispatcher.writeException(SynchronousDispatcher.java:218)
    at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:519)
    at org.jboss.resteasy.core.SynchronousDispatcher.lambda$invoke$4(SynchronousDispatcher.java:261)
    at org.jboss.resteasy.core.SynchronousDispatcher.lambda$preprocess$0(SynchronousDispatcher.java:161)
    at org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:364)
    at org.jboss.resteasy.core.SynchronousDispatcher.preprocess(SynchronousDispatcher.java:164)
    at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:247)
    at io.quarkus.resteasy.runtime.standalone.RequestDispatcher.service(RequestDispatcher.java:73)
    at io.quarkus.resteasy.runtime.standalone.VertxRequestHandler.dispatch(VertxRequestHandler.java:135)
    at io.quarkus.resteasy.runtime.standalone.VertxRequestHandler$1.run(VertxRequestHandler.java:90)
    at io.quarkus.vertx.core.runtime.VertxCoreRecorder$13.runWith(VertxCoreRecorder.java:543)
    at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2449)
    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1478)
    at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
    at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: java.lang.RuntimeException: Error injecting cana.codelessautomation.api.resources.environment.mappers.EnvironmentResourceMapper cana.codelessautomation.api.resources.environment.EnvironmentResource.environmentResourceMapper
    at cana.codelessautomation.api.resources.environment.EnvironmentResource_Bean.create(EnvironmentResource_Bean.zig:197)
    at cana.codelessautomation.api.resources.environment.EnvironmentResource_Bean.create(EnvironmentResource_Bean.zig:263)
    at io.quarkus.arc.impl.AbstractSharedContext.createInstanceHandle(AbstractSharedContext.java:96)
    at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:29)
    at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:26)
    at io.quarkus.arc.impl.LazyValue.get(LazyValue.java:26)
    at io.quarkus.arc.impl.ComputingCache.computeIfAbsent(ComputingCache.java:69)
    at io.quarkus.arc.impl.AbstractSharedContext.get(AbstractSharedContext.java:26)
    at cana.codelessautomation.api.resources.environment.EnvironmentResource_Bean.get(EnvironmentResource_Bean.zig:295)
    at cana.codelessautomation.api.resources.environment.EnvironmentResource_Bean.get(EnvironmentResource_Bean.zig:311)
    at io.quarkus.arc.impl.ArcContainerImpl.beanInstanceHandle(ArcContainerImpl.java:440)
    at io.quarkus.arc.impl.ArcContainerImpl.beanInstanceHandle(ArcContainerImpl.java:453)
    at io.quarkus.arc.impl.ArcContainerImpl$1.get(ArcContainerImpl.java:276)
    at io.quarkus.arc.impl.ArcContainerImpl$1.get(ArcContainerImpl.java:273)
    at io.quarkus.resteasy.common.runtime.QuarkusConstructorInjector.construct(QuarkusConstructorInjector.java:52)
    at org.jboss.resteasy.plugins.server.resourcefactory.POJOResourceFactory.createResource(POJOResourceFactory.java:71)
    at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:401)
    at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:69)
    at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:492)
    ... 15 more
Caused by: com.googlecode.jmapper.exceptions.JMapperException: com.googlecode.jmapper.exceptions.ConversionBodyIllegalCodeException: There is an error in the generated method. Additional information: [source error] no such class: cana.codelessautomation.api.resources.environment.models.CreateEnvironmentModel
    at com.googlecode.jmapper.config.JmapperLog.error(JmapperLog.java:46)
    at com.googlecode.jmapper.JMapper.<init>(JMapper.java:437)
    at com.googlecode.jmapper.JMapper.<init>(JMapper.java:373)
    at com.googlecode.jmapper.JMapper.<init>(JMapper.java:360)
    at cana.codelessautomation.api.resources.environment.mappers.EnvironmentResourceMapperImpl.<init>(EnvironmentResourceMapperImpl.java:23)
    at cana.codelessautomation.api.resources.environment.mappers.EnvironmentResourceMapperImpl_ClientProxy.<init>(EnvironmentResourceMapperImpl_ClientProxy.zig:24)
    at cana.codelessautomation.api.resources.environment.mappers.EnvironmentResourceMapperImpl_Bean.proxy(EnvironmentResourceMapperImpl_Bean.zig:40)
    at cana.codelessautomation.api.resources.environment.mappers.EnvironmentResourceMapperImpl_Bean.get(EnvironmentResourceMapperImpl_Bean.zig:198)
    at cana.codelessautomation.api.resources.environment.mappers.EnvironmentResourceMapperImpl_Bean.get(EnvironmentResourceMapperImpl_Bean.zig:214)
    at cana.codelessautomation.api.resources.environment.EnvironmentResource_Bean.create(EnvironmentResource_Bean.zig:180)
    ... 33 more
Caused by: com.googlecode.jmapper.exceptions.ConversionBodyIllegalCodeException: There is an error in the generated method. Additional information: [source error] no such class: cana.codelessautomation.api.resources.environment.models.CreateEnvironmentModel
    at com.googlecode.jmapper.config.Error.bodyContainsIllegalCode(Error.java:186)
    at com.googlecode.jmapper.generation.JavassistGenerator.generate(JavassistGenerator.java:85)
    at com.googlecode.jmapper.generation.MapperGenerator.generateMapperClass(MapperGenerator.java:75)
    at com.googlecode.jmapper.generation.MapperBuilder.generate(MapperBuilder.java:90)
    at com.googlecode.jmapper.JMapper.createMapper(JMapper.java:450)
    at com.googlecode.jmapper.JMapper.<init>(JMapper.java:432)
    ... 41 more

How to Reproduce?

No response

Output of uname -a or ver

Darwin Sajans-MBP.lan 20.6.0 Darwin Kernel Version 20.6.0: Mon Aug 30 06:12:21 PDT 2021; root:xnu-7195.141.6~3/RELEASE_X86_64 x86_64

Output of java -version

java version "15" 2020-09-15 Java(TM) SE Runtime Environment (build 15+36-1562) Java HotSpot(TM) 64-Bit Server VM (build 15+36-1562, mixed mode, sharing)

GraalVM version (if different from Java)

No response

Quarkus version or git rev

No response

Build tool (ie. output of mvnw --version or gradlew --version)

<quarkus.platform.version>2.3.0.Final</quarkus.platform.version>

Additional information

No response