[alibaba/p3c]规约插件扫描报错

2023-12-12 431 views
5

An internal error occurred during: "P3C Code Analysis". javax/annotation/Generated

扫描UserListDTO会出现这个问题

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "UserListDTO", description = "用户表")
public class UserListDTO extends BaseDTO implements Serializable {

    private static final long serialVersionUID = 1L;
    private String id;
}
@Data
public class BaseDTO {

    @ApiModelProperty("页")
    private Integer pageNum;

    @ApiModelProperty("大小")
    private Integer pageSize;

    @ApiModelProperty("开始时间")
    private LocalDateTime startTime;

    @ApiModelProperty("结束时间")
    private LocalDateTime endTime;

    @ApiModelProperty("搜索字")
    private String searchStr;

}

ide:sts4

回答

7

你好,这个问题解决了吗?我这边也遇到了这个问题,现在猜测是eclipse自带的jdk版本引起的问题,是否是eclipse自带的jdk中没有这个类

3

我测试了一下,使用eclipse 2020-06版本及一下,配置jdk为1.8即可使用

7

我也遇到了这个问题,要这么老的版本吗。那太难为情了

9

因为这个Generated接口在jdk8以后的位置变了,而eclipse2020-06是最后一个支持jdk8版本的,有以下方法解决,1:用eclipse2020-06版本专门扫描代码,用其他版本开发;2:你编译一个有这个接口的jdk给eclipse用;3:你改一下这个插件的把引用这个接口的地方改一下,然后重新编译使用

3

高版本的eclipse都有,但是似乎小组也不打算支持高版本的eclipse了

4

1、可以换idea,有其他人开了分支。 2、或者下载链接:https://pan.baidu.com/s/1Q-LWsreWdadhIairImREYg?pwd=7fev 提取码:7fev 安装。 3、或者自己修改源码编译 (1)p3c-master\eclipse-plugin\com.alibaba.smartfox.eclipse.plugin\src\main\kotlin\com\alibaba\smartfox\eclipse\pmd\rule\MissingOverrideAnnotationRule.kt 中的import javax.annotation.Generated 改成 import javax.annotation.processing.Generated (2)然后将最外面的pom.xml中的第190行改成里面的url改成https://download.eclipse.org/eclipse/updates/4.29/ (3)将47行改成http://mirrors.ustc.edu.cn/eclipse/releases/2023-09/ (4)将12行版本改成4.0.4 (5)jdk环境变量配置jdk17,maven3.9.5[我使用的版本],进入p3c-master\eclipse-plugin目录执行mvn -U clean install (6)成功后进入目录\p3c-master\eclipse-plugin\com.alibaba.smartfox.eclipse.updatesite\target (7)使用smartfox-eclipse-plugin.zip安装即可