今天拉取一個git代碼,啟動后報錯:java.lang.NoClassDefFoundError: lombok/Data
檢查以后,發現是因為屬性上使用了Data,引用的是lombok.Data的包造成的。
可以看到這個類中有一個好幾個Data。這里就很嚴重了,造成這個問題的原因是把Date寫成了Data了。所以會報錯lombok/Data問題。
要全局檢查這樣屬性寫成Data,然后引用的是lombok.Data的包,這種地方。
package com.ly.frauddataplatform.model.qo;import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;/*** @Description: 用戶畫像-模板列表請求參數類* @Version: V1.0*/
@ApiModel
@Data
public class RcPortraitTemplateQO extends PageQO{@ApiModelProperty(name = "id", value = "主鍵", example = "1")private Long id;/*** 模板名稱**/@ApiModelProperty(name = "templateName",value = "模板名稱",example = "xxx模板")private String templateName;/*** 模板內容**/@ApiModelProperty(name = "templateContent",value = "模板內容",example = "xxxjson字符串")private String templateContent;/*** 備注**/@ApiModelProperty(name = "remark",value = "備注",example = "適用于那個項目")private String remark;/*** 創建時間**/@ApiModelProperty(name = "createTime",value = "創建時間",example = "2024-02-23 00:00:00")@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")private Data createTime;/*** 修改時間**/@ApiModelProperty(name = "updateTime",value = "修改時間",example = "2024-02-23 00:00:00")@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")private Data updateTime;/*** 操作人**/@ApiModelProperty(name = "operator",value = "操作人",example = "羅焱-1211535")private String operator;
}
錯誤的代碼,可以看到這里引用的是lombok的包。類的屬性類型卻也使用了Data,應該使用的是Date
package com.ly.frauddataplatform.model.qo;import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;/*** 創建時間**/@ApiModelProperty(name = "createTime",value = "創建時間",example = "2024-02-23 00:00:00")@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")private Data createTime;/*** 修改時間**/@ApiModelProperty(name = "updateTime",value = "修改時間",example = "2024-02-23 00:00:00")@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")private Data updateTime;
正確的代碼:修改以后:
package com.ly.frauddataplatform.model.qo;import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;import java.util.Date;/*** 創建時間**/@ApiModelProperty(name = "createTime",value = "創建時間",example = "2024-02-23 00:00:00")@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")private Date createTime;/*** 修改時間**/@ApiModelProperty(name = "updateTime",value = "修改時間",example = "2024-02-23 00:00:00")@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")private Date updateTime;