前端枚举管理类自动生成工具
前言
在开发阶段,可能我们的Java项目中需要定义大量枚举类,而对于前端来说,所有的枚举值都必须与其一一对应,在前端构建枚举以及维护枚举类也是一项耗时工作,由此,编写了这个前端枚举类生成工具,以便对项目中的枚举统一生成以及管理。
github地址:chendingfengmail@163.com
构建思路
前后端枚举属性对应
Java枚举属性 | 前端枚举属性 |
---|---|
name | field |
value | value |
description | label |
- Java枚举模版:
public enum SexEnum {
SEX_UNKNOW(0, "未知"),
SEX_MALE(1, "男"),
SEX_FEMALE(2, "女"),
private int value;
private String description;
private AcceptProgress(int value, String description){
this.value = value;
this.description = description;
}
public int getValue(){
return this.value;
}
public String getDescription(){
return this.description;
}
public static String getDescriptionByValue(int value) {
AcceptProgress[] types = AcceptProgress.values();
for(AcceptProgress type : types){
if(type.getValue() == value){
return type.getDescription();
}
}
return null;
}
}
- 生成对应前端枚举类
export class Enums {
// 构造函数
constructor() {
this.SEX_ENUM = new Enum()
.add('SEX_UNKNOW', '未知', 0)
.add('SEX_MALE', '男', 1)
.add('SEX_FEMALE', '女', 2)
}
}
使用方法
- 工具jar包下载地址:阿里云盘下载
注意 该jar包运行入口函数必须传入2个参数
参数 | 描述 |
---|---|
args[0] | 存放java枚举文件的目录 |
args[1] | 保存输出枚举JS文件位置(可传入文件夹或包含后缀的文件全路径,若传入文件夹则默认生成的文件名为Enums.js) |
方式1. 通过 java -Dfile.encoding="utf-8" -jar EnumsGenerator.jar args[0] args[1]
命令运行 EnumsGenerator.jar
方式2. 如下图所示,通过 java -Dfile.encoding="utf-8" -jar EnumsGenerator.jar
运行jar包,按提示输入参数即可。
问题
问题一: 关于导包无法找到 com.sun.tools
包的问题
解决: 这里依赖的tools包是jdk/lib 下的tools包 将其安装到本地仓库即可;
安装tools包命令: mvn install:install-file -Dfile="%cur_dir%\tools-1.8.0.jar" -DgroupId=com.sun -DartifactId=tools -Dversion=1.8.0 -Dpackaging=jar