## linkis-engineconn-plugin-core  errorcode

| module name(模块名) | error code(错误码)  | describe(描述) |enumeration name(枚举)| Exception Class(类名)|
| -------- | -------- | ----- |-----|-----|
|linkis-engineconn-plugin-core |10001|Failed to createEngineConnLaunchRequest(创建 EngineConnLaunchRequest失败)|FAILED_CREATE_ELR|EngineconnCoreErrorCodeSummary|
|linkis-engineconn-plugin-core |10001|The engine plugin material is abnormal, please check whether the material is uploaded successfully(引擎插件物料异常，请检查物料是否上传成功)|EN_PLUGIN_MATERIAL_SOURCE_EXCEPTION|EngineconnCoreErrorCodeSummary|
|linkis-engineconn-plugin-core |10001|EngineTypeLabel are requested(需要参数 EngineTypeLabel)|ETL_REQUESTED|EngineconnCoreErrorCodeSummary|
|linkis-engineconn-plugin-core |20000|Cannot instance EngineConnExecution(无法实例化 EngineConnExecution)|CANNOT_INSTANCE_ECE|EngineconnCoreErrorCodeSummary|
|linkis-engineconn-plugin-core |20000|Cannot find default ExecutorFactory(找不到默认的 ExecutorFactory)|CANNOT_DEFAULT_EF|EngineconnCoreErrorCodeSummary|
|linkis-engineconn-plugin-core |20000|EngineTypeLabel does not exist(EngineTypeLabel 不存在)|ETL_NOT_EXISTS|EngineconnCoreErrorCodeSummary|
|linkis-engineconn-plugin-core |20000|UserCreatorLabel does not exist(UserCreatorLabel 不存在)|UCL_NOT_EXISTS|EngineconnCoreErrorCodeSummary|
|linkis-engineconn-plugin-core |20001|The dist of EngineConn is empty,engineConnType is:{0}(EngineConn 的 dist 为空,engineConnType为：{})|DIST_IS_EMPTY|EngineconnCoreErrorCodeSummary|
|linkis-engineconn-plugin-core |20001|Cannot find the home path of engineConn(找不到engineConn的home路径)|CANNOT_HOME_PATH_EC|EngineconnCoreErrorCodeSummary|
|linkis-engineconn-plugin-core |20001|Cannot find the path of engineConn with specified version: {0} and engineConnType: {1}(找不到版本为：{0} engineConnType 为:{1}的engineConn路径|ENGIN_VERSION_NOT_FOUND|EngineconnCoreErrorCodeSummary|
|linkis-engineconn-plugin-core |20001|The dist of EngineConn is empty,engineConnType(EngineConn 的 dist 为空,engineConnType):{0}|DIST_IS_EMPTY|EngineconnCoreErrorCodeSummary|
|linkis-engineconn-plugin-core |20001|The dist of engineConnType:{0} is irregular, both the version dir and non-version dir are exist,(engineConnType:{0} 的 dist 目录不符合规范，版本目录和非版本目录都存在)|DIST_IRREGULAR_EXIST|EngineconnCoreErrorCodeSummary|
|linkis-engineconn-plugin-core |20001|System have no permission to delete old engineConn file:{0}(系统无权删除旧的engineConn文件:{0})|NO_PERMISSION_FILE|EngineconnCoreErrorCodeSummary|
|linkis-engineconn-plugin-core |20001|The `lib` and `conf` dir is necessary in engineConnType:{0} dist(`lib` 和 `conf` 目录在 engineConnType:{0} dist目录中必需存在)|LIB_CONF_DIR_NECESSARY|EngineconnCoreErrorCodeSummary|
|linkis-engineconn-plugin-core |20001|Version name in engineConnType:{0} cannot contain special character '-'(Version name in engineConnType: {0} cannot contain special character '-')|CONTAINS_SPECIAL_CHARCATERS|EngineconnCoreErrorCodeSummary|
|linkis-engineconn-plugin-core |20011| Not supported ExecutorFactory(不支持 ExecutorFactory)|NOT_SUPPORTED_EF|EngineconnCoreErrorCodeSummary|
|linkis-engineconn-plugin-core |70101| DefaultEngineRunTypeLabel cannot be null(DefaultEngineRunTypeLabel 不能为空)|DERTL_CANNOT_NULL|EngineconnCoreErrorCodeSummary|
|linkis-engineconn-plugin-core |70102|Cannot get label key. labels (无法获取标签key,标签):{0}|CANNOT_GET_LABEL_KEY|EngineconnCoreErrorCodeSummary|
|linkis-engineconn-plugin-core |70103|The minResource:{0} is not the same with the maxResource:{1}(minResource:{0} 与 maxResource:{1} 不同)|MINRESOURCE_MAXRESOURCE_NO_SAME|EngineconnCoreErrorCodeSummary|
|linkis-engineconn-plugin-core |70062|Failed to init engine conn plugin instance(无法初始化引擎连接插件实例)|FAILED_ENGINE_INSTANCE|EngineconnCoreErrorCodeSummary|
|linkis-engineconn-plugin-core |70062|No public constructor in pluginClass(pluginClass 中没有公共构造函数)|NO_PUBLIC_CONSTRUCTOR|EngineconnCoreErrorCodeSummary|
|linkis-engineconn-plugin-core |70062|Illegal arguments in constructor of pluginClass(pluginClass 的构造函数中的非法参数)|ILLEGAL_ARGUMENTS|EngineconnCoreErrorCodeSummary|
|linkis-engineconn-plugin-core |70062|Unable to construct pluginClass(无法构造pluginClass)|UNABLE_PLUGINCLASS|EngineconnCoreErrorCodeSummary|
|linkis-engineconn-plugin-core |70062|Unable to load class(无法加载类)|UNABLE_CLASS|EngineconnCoreErrorCodeSummary|
|linkis-engineconn-plugin-core |70063|No plugin found , please check your configuration(未找到插件，请检查您的配置)|NO_PLUGIN_FOUND|EngineconnCoreErrorCodeSummary|
|linkis-engineconn-plugin-core |70064|Have no write permission to directory(对目录没有写权限)|NO_WRITE_PERMISSION|EngineconnCoreErrorCodeSummary|


