Ich habe einige Probleme mit MapStruct mit abstrakten Klasse. Ich habe 2 Mapper:MapStruct: Problem mit der abstrakten Klasse
MapperA extends AbstractMapper<U,V>
MapperB extends AbstractMapper<U,V>
MapperA verwendet MapperB
ich eine Methode in AbstractMapper
habe
public <T extends AbstractReference> T resolveReference(String id, @TargetType Class<T> entityClass) {
// Some implementation
}
Während saubere Installation, ich habe den zweideutigen Methodenfehler.
Es scheint, dass Mapsstruct die Methode zweimal findet, eine von jedem Mapper, der dieselbe Klasse erweitert.
Ich habe eine Suche nach der Qualifier-Sache gemacht, aber es scheint nützlich zu sein, wenn verschiedene Methoden mit der gleichen Signatur verwendet werden. Aber in meinem Fall ist es derselbe !!
Wenn Sie irgendwelche Ints haben.
Dank
Edit:
@Mapper(componentModel = "cdi", uses = {MapperB.class})
@ApplicationScoped
public abstract class MapperA extends AbstractMapper<U1,V1> {}
MapperB verwendet keine andere Mapper.
@Mapper(componentModel = "cdi")
@ApplicationScoped
public abstract class MapperB extends AbstractMapper<U2,V2> {}
Können Sie Ihre Mapper verwenden zeigen Definitionen? Verwenden Sie MapperA in MapperB oder umgekehrt? – Filip
@Mapper (componentModel = "cdi", verwendet = {MapperB.class}) @ApplicationScoped öffentliche abstrakte Klasse MapperA erweitert AbstractMapper {} MapperB verwendet keinen anderen Mapper. – teyma
Warum haben Sie diese Typparameter auf Ihren Mappern deklariert? Wo werden sie benutzt? – Gunnar