Java 8
MapStruct: 1.2.0.Final
Lombok: 1.16.18
IDE : Плагин IntelliJ - Lombok уже установлен
- Изначально я столкнулся с проблемами, когда удалил геттеры и сеттеры и добавил @Getter и @ Аннотация Setter, Mapstruct не может найти свойство и говорит: Неизвестное свойство «id» в типе результата com.vg.once.dto.OneDto. Вы имели в виду «нулевой»?
- Я узнал, что Lombok 1.16.14 или новее вместе с MapStruct 1.2.0.Beta1 или новее совместимы и могут работать вместе, но мои версии новее желаемых, но проблема все равно возникает.
- Еще одно решение, которое я уже пробовал, - это запустить плагин Delombok от Lombok, но, тем не менее, возникает та же проблема.
Объект Entity: One.java:
Код: Выделить всё
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class One {
private int id;
private Integer version;
private int projectId;
private String title;
private String code;
private int sortOrder;
}
Код: Выделить всё
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class OneDto {
private int id;
private Integer version;
private int projectId;
private String title;
private String code;
private int sortOrder;
}
Код: Выделить всё
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import com.vg.once.dto.OneDto;
import com.vg.once.entity.One;
@Mapper
public interface OneMapper {
@Mapping(target="id", source="one.id")
OneDto createOne (One one);
}
Код: Выделить всё
4.0.0
com.vg
mapstruct
0.0.1-SNAPSHOT
Mapstruct-test
1.8
1.2.0.Final
1.16.18
org.projectlombok
lombok
${org.projectlombok.version}
provided
org.mapstruct
mapstruct-jdk8
${org.mapstruct.version}
org.projectlombok
lombok-maven-plugin
1.16.18.1
generate-sources
delombok
src/main/java
false
${project.build.directory}/delombok
UTF-8
false
false
org.apache.maven.plugins
maven-compiler-plugin
3.6.1
${java.version}
${java.version}
org.mapstruct
mapstruct-processor
${org.mapstruct.version}
Код: Выделить всё
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Mapstruct-test 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- lombok-maven-plugin:1.16.18.1:delombok (default) @ mapstruct ---
[INFO] Delombok complete.
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ mapstruct ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.6.1:compile (default-compile) @ mapstruct ---
[INFO] Changes detected - recompiling the module!
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
[INFO] Compiling 5 source files to /home/vivekgupta/Documents/workspaces/mapstruct-test/mapstruct/target/classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /home/vivekgupta/Documents/workspaces/mapstruct-test/mapstruct/src/main/java/com/vg/once/mapper/OneMapper.java:[12,9] Unknown property "id" in result type com.vg.once.dto.OneDto. Did you mean "null"?
[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.637 s
[INFO] Finished at: 2017-12-06T19:23:53+05:30
[INFO] Final Memory: 19M/235M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.6.1:compile (default-compile) on project mapstruct: Compilation failure
[ERROR] /home/vivekgupta/Documents/workspaces/mapstruct-test/mapstruct/src/main/java/com/vg/once/mapper/OneMapper.java:[12,9] Unknown property "id" in result type com.vg.once.dto.OneDto. Did you mean "null"?
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
Подробнее здесь: https://stackoverflow.com/questions/476 ... esult-type