这是因为 MapStruct 不知道应该使用哪个构造函数来创建目标对象。解决这个问题的方法是在目标对象的构造函数上使用 `@MappingTarget` 注解来指定使用哪个构造函数。例如: ```java @Mapper public interface MyMapper { @Mapping(target = "name", source = "sourceName") @Mapping(target = "age", source = "sourceAge") void mapToPerson(Source source, @MappingTarget Person person); } public class Person { private String name; private int age; public Person(String name) { this.name = name; } public Person(String name, int age) { this.name = name; this.age = age; } } ``` 在上面的例子中,`Person` 类有两个构造函数,一个只接受一个字符串参数,另一个接受一个字符串参数和一个整数参数。在 `MyMapper` 接口中,我们使用 `@MappingTarget` 注解来指定使用第二个构造函数来创建 `Person` 对象。这样,MapStruct 就知道应该使用哪个构造函数来创建目标对象,就不会出现“存在模糊的构造函数”错误了。