Code: Select all
org.apache.maven.plugins
maven-compiler-plugin
${java.version}
${java.version}
org.mapstruct
mapstruct-processor
${mapstruct.version}
kommentiert wirdpackage com.example.demo;
import javax.annotation.processing.Generated;
import org.springframework.stereotype.Component;
@Generated(
value = "org.mapstruct.ap.MappingProcessor",
date = "2025-04-12T09:58:09+0000",
comments = "version: 1.6.3, compiler: javac, environment: Java 21.0.5"
)
@Component
public class MyMapperImpl implements MyMapper {
@Override...
< /code>
Bei Ausführung der App oder sogar beim Ausführen von Tests während der Ausführung von MVN Clean Installation erhalte ich die folgenden Fehler: < /p>
2025-04-12T09:58:45.338Z WARN 12073 --- [demo] [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'demoController' defined in file [/workspaces/spring/mapstruct/target/classes/com/example/demo/DemoController.class]: Unsatisfied dependency expressed through constructor parameter 0: No qualifying bean of type 'com.example.demo.MyMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}
2025-04-12T09:58:45.340Z INFO 12073 --- [demo] [ main] o.apache.catalina.core.StandardService : Stopping service [Tomcat]
2025-04-12T09:58:45.346Z INFO 12073 --- [demo] [ main] .s.b.a.l.ConditionEvaluationReportLogger :
Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
2025-04-12T09:58:45.363Z ERROR 12073 --- [demo] [ main] o.s.b.d.LoggingFailureAnalysisReporter :
***************************
APPLICATION FAILED TO START
***************************
Description:
Parameter 0 of constructor in com.example.demo.DemoController required a bean of type 'com.example.demo.MyMapper' that could not be found.
Action:
Consider defining a bean of type 'com.example.demo.MyMapper' in your configuration.
< /code>
Ich bin mir ziemlich sicher, dass ich eine Bean habe, wie ich com.example.demo.mymapperimpl habe, was com.example.demo.mymapper?user> ./mvnw clean install // error on testing
user> ./mvnw clean install -DskipTests=true // builds OK
user> ./mvnw spring-boot:run // error on run
< /code>
Ich verwende JDK21 in einem VSCODE Java DevContainer, der einen Unterschied macht. Darüber hinaus habe ich in meiner tatsächlichen Anwendung eine Trace -Protokollierung für org.springframework.beans hinzugefügt und konnte bestätigen, dass es im ApplicationContext eine MyMapperImpl -Bean gab, aber kein Typ vom Typ MyMapper konnte gefunden werden.
Danke.