我有一个spring rest端点junit测试,有时我会发现一个奇怪的问题。当我使用eclipse时,我的测试不想通过。它失败并显示以下消息:
caused by: com.fasterxml.jackson.databind.JsonMappingException: Can not construct instance of com.package.dto.MyDto: no suitable constructor found, can not deserialize from Object value (missing default constructor or creator, or perhaps need to add/enable type information?)
现在一切都很清楚。确实,我没有默认构造函数,因为我使用lombok,我的问题类如下所示:
@Getter
@Builder
@EqualsAndHashCode
@AllArgsConstructor
public class MyDto {...}
但是当我使用intellij来构建项目时,一切都很好。即使在eclipse中,当使用intellij重建项目时,所有测试都会通过。当我使用console maven命令时: mvn clean install
一切正常。所以看起来eclipse构建整个项目有点不同。在eclipse构建测试在intellij中失败之后以及在使用 mvn test
控制台命令。问题是为什么会这样?我知道如何修复它(通过添加默认构造函数),但我只想知道eclipse和其他构建工具之间的区别。
有什么想法吗?
1条答案
按热度按时间qojgxg4l1#
似乎eclipse中的类路径不完整,并且没有安装lombok。尝试安装lombok插件,这里有一个很好的教程