Comments (8)
Hello @myatmin,
Could you please provide a minimum example project for this behaviour - including the Eclipse project files?
from mapstruct-spring-extensions.
Closed as no reaction in nearly a year.
from mapstruct-spring-extensions.
Hi @Chessray,
Please accept my sincerest apologies.
I missed out this issue notification.
I only have VSCode devcontainer
sample project.
mapstruct-example.zip
Can you just copy java
files from the following package com.mapstruct.example.mapstructexample.mapper
to your blank Eclipse project and see whether it generate all of the classes like adapter class and converter class?
from mapstruct-spring-extensions.
Hi @Chessray ,
I managed to open the sample project in Eclipse.
Following error message is still encountered.
Exception thrown by Java annotation processor org.mapstruct.extensions.spring.converter.ConverterMapperProcessor@7ea584e6
java.lang.Exception: java.lang.ClassCastException: class org.eclipse.jdt.internal.compiler.apt.model.AnnotationValueImpl cannot be cast to class javax.lang.model.element.AnnotationMirror (org.eclipse.jdt.internal.compiler.apt.model.AnnotationValueImpl is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @183f9933; javax.lang.model.element.AnnotationMirror is in module java.compiler of loader 'platform')
at org.eclipse.jdt.internal.compiler.apt.dispatch.RoundDispatcher.handleProcessor(RoundDispatcher.java:172)
at org.eclipse.jdt.internal.compiler.apt.dispatch.RoundDispatcher.round(RoundDispatcher.java:124)
at org.eclipse.jdt.internal.compiler.apt.dispatch.BaseAnnotationProcessorManager.processAnnotations(BaseAnnotationProcessorManager.java:172)
at org.eclipse.jdt.internal.apt.pluggable.core.dispatch.IdeAnnotationProcessorManager.processAnnotations(IdeAnnotationProcessorManager.java:138)
at org.eclipse.jdt.internal.compiler.Compiler.processAnnotations(Compiler.java:953)
at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:450)
at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:426)
at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:406)
at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.compile(BatchImageBuilder.java:214)
at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:338)
at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.build(BatchImageBuilder.java:79)
at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll(JavaBuilder.java:273)
at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:188)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:1079)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:296)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:352)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:441)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:444)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:555)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:503)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:585)
at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:594)
at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:490)
at org.eclipse.ui.actions.BuildAction$1.runInWorkspace(BuildAction.java:291)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:43)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: java.lang.ClassCastException: class org.eclipse.jdt.internal.compiler.apt.model.AnnotationValueImpl cannot be cast to class javax.lang.model.element.AnnotationMirror (org.eclipse.jdt.internal.compiler.apt.model.AnnotationValueImpl is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @183f9933; javax.lang.model.element.AnnotationMirror is in module java.compiler of loader 'platform')
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at org.mapstruct.extensions.spring.converter.ConverterMapperProcessor.toFromToMappings(ConverterMapperProcessor.java:160)
at java.base/java.util.Optional.map(Optional.java:260)
at org.mapstruct.extensions.spring.converter.ConverterMapperProcessor.getExternalConversionMappings(ConverterMapperProcessor.java:152)
at org.mapstruct.extensions.spring.converter.ConverterMapperProcessor.buildAdapterDescriptor(ConverterMapperProcessor.java:137)
at org.mapstruct.extensions.spring.converter.ConverterMapperProcessor.process(ConverterMapperProcessor.java:101)
at org.eclipse.jdt.internal.compiler.apt.dispatch.RoundDispatcher.handleProcessor(RoundDispatcher.java:142)
... 27 more
from mapstruct-spring-extensions.
Your project setup is wrong. You've configured the processors as regular Maven dependencies instead of annotation processing additions. Check https://mapstruct.org/documentation/stable/reference/html/#_apache_maven and https://mapstruct.org/documentation/spring-extensions/reference/html/#_apache_maven
from mapstruct-spring-extensions.
Hi @Chessray ,
Yes, I edited to correct one when I opened it in Eclipse. Here is the sample project.
mapstruct-example.zip
It's having issue with ECJ but working fine with Javac. (Tried with IntelliJ)
VSCode Java and Eclipse use ECJ and having problem with @ExternalConversion
.
from mapstruct-spring-extensions.
Judging from the linked thread, this issue has to be fixed inside ECJ; therefore I'll close this one.
from mapstruct-spring-extensions.
Hi @Chessray,
After ECJ team checking of the above mentioned issue, actually ECJ followed the implementation correctly. Detail explanation can be found in this comment.
Hibernate metamodel generator also corrected their generation issue too. See the issue link in this comment.
from mapstruct-spring-extensions.
Related Issues (20)
- DelegatingConverter and CycleAvoidingMappingContext HOT 4
- Allow inherited DelegatingConverter to be processed HOT 1
- Not auto register converters after manually create a ConversionService bean. HOT 14
- "noconfig" example is not working HOT 1
- ConversionService beans conflict in @WebMvcTest annotated tests with Spring Cloud 2023.0.1
- Java version requisite is 11 ?
- Java version requisite is 11 ? HOT 2
- how can i use "Inverse mappings" HOT 1
- Problem of defining parent-child JPA mapping. HOT 3
- maven Compilation failed [JDK20 MAVEN3.9.2 ] javax.annotation.processing.Processor: Provider org.mapstruct.extensions.spring.converter.ConverterMapperProcessor could not be instantiated HOT 2
- ConversionServiceAdapterGenerator does not respect mapstruct.suppressGeneratorTimestamp
- Combining various default starters can result in multiple `ConversionService`s being in the `ApplicationContext`.
- How to inject Spring CustomComponent in Mapper interface? HOT 2
- Compiler Error with Qualified Mapping and Custom Converter - Duplicate Method Generation HOT 6
- Provide a ConversionService bean if missing HOT 7
- Generate additional delegating mappers for @InheritInverseConfiguration HOT 5
- Name collision with same class name in different packages HOT 2
- 'No converter found' when injection ConversionService into Spring Service. / indirect reference to ConversionService HOT 6
- spring-beans vulnerability CVE-2022-22965 HOT 4
- Provide mechanism for adding annotations to generated code HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mapstruct-spring-extensions.