本文档讲述内容可参见 shoulder-plugins

开发提效:maven 插件

  • 根据代码注释自动生成多语言翻译资源文件

能力激活方式: pom.xml 中加入以下 Maven 插件

pom.xml
<!-- 在 target 目录生成所有实现 ErrorCode 接口错误码枚举类的多语言资源文件 -->
<plugin>
    <groupId>cn.itlym.shoulder</groupId>
    <artifactId>shoulder-maven-plugin</artifactId>
    <configuration>
        <!-- 【必填】本组件对应的错误码前缀 -->
        <errorCodePrefix>${shoulder-framework.errcode-prefix}</errorCodePrefix>
        <!-- 【必填】要扫描的包路径,通常为组件错误码枚举/常量类所在包路径,越精确插件耗时越低 -->
        <scanPackage>org.shoulder.core.exception</scanPackage>
        <!-- (选填)错误码建议 -->
        <defaultSuggestionInfo>1.请前往服务器 xxx 目录查看并导出并保留程序运行日志 \r\n 2.联系相应开发人员根据保留的日志信息,协助排查。</defaultSuggestionInfo>
    </configuration>
</plugin>

代码中编写:

错误码多语言示例
public enum CommonErrorCodeEnum implements ErrorCode {

    /**
     * @desc 未认证,需要认证后才能访问
     * @sug 先进行认证,再访问服务
     */
    AUTH_401_NEED_AUTH(11, "Need Authentication.", Level.INFO, HttpStatus.UNAUTHORIZED),
}

默认会在 mvn package 时生成至 target/classes/language/zh_CN/errorCode.properties 文件中,并被打包进 jar 中供程序使用。

生成结果
#########################
# org.shoulder.core.exception.CommonErrorCodeEnum
#########################
# AUTH_401_EXPIRED
err.0x0000000d.desc=认证无效,需要先进行认证
err.0x0000000d.sug=1.未携带正确认证标识(需要检查接口文档-认证);2.过期的认证标识(需要重新登陆)

减少代码 @Slog

JDK 更新字节码不兼容(升级 JDK 时也要升级 lombok 版本),暂不建议使用,待 JDK 普遍到 17+ 再推广。