You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
public class TheAnnotationProcessor extends AbstractProcessor {
for an annotation the.namespace.TheAnnotation in that project
public @interface TheAnnotation {
which produces an interface (e.g. GeneratedInterfaceSpecificMapper, see below) with plenty of default. In the very same project, this annotation is also applied to some classes,
@TheAnnotation(Specific.class)
public class SpecificMapper implements GeneratedInterfaceSpecificMapper {
Evidently, maven discovers the annotation, the annotation processor, runs code generation through the processor (files appear in generated-sources/annotations/...) and is able to also compile the source files that make use of the GeneratedInterfaceSpecificMapper.
The vscode plugin flags the type GeneratedInterfaceSpecificMapper as faulty, with "[Java] cannot be resolved to a type". This seems to indicate that the vscode plugin is not aware of the generated artefacts in generated-sources/annotations/...
There's a known limitation in Eclipse JDT where you can not apply annotation processors in the same workspace as where they're defined. i.e. you can't have:
workspace:
- annotation-processor-project
- project-processed-by-annotation-processor-project
For reference: The Baeldung link seems to point to the setup you describe - and seems to work.
My setup here is even worse: The annotation processor implementation is embedded into the project which is being annotated. Self-modifying code at build-time, if you like.
I have access to a specific (large) project here which makes use of
to create an annotation processor
for an annotation
the.namespace.TheAnnotation
in that projectwhich produces an interface (e.g.
GeneratedInterfaceSpecificMapper
, see below) with plenty ofdefault
. In the very same project, this annotation is also applied to some classes,Evidently, maven discovers the annotation, the annotation processor, runs code generation through the processor (files appear in generated-sources/annotations/...) and is able to also compile the source files that make use of the GeneratedInterfaceSpecificMapper.
The vscode plugin flags the type
GeneratedInterfaceSpecificMapper
as faulty, with "[Java] cannot be resolved to a type". This seems to indicate that the vscode plugin is not aware of the generated artefacts in generated-sources/annotations/...I have had a look at https://www.baeldung.com/java-annotation-processing-builder to see whether this produces the error - alas, that setup there seems to be too clean / too simplistic to trigger the problem.
Environment
Steps To Reproduce
<large project, will try to find time to reduce>
Current Result
Expected Result
Additional Informations
Not sure whether this related to the issues reported for Lombok - e.g #580 or #458
The text was updated successfully, but these errors were encountered: