{"record":{"id":"d9c6ae3d8f4d6241","repo":"mybatis/mybatis-3","slug":"the-setting-key-is-not-known-make-sure-you-spe","errorCode":null,"errorMessage":"The setting {key} is not known.  Make sure you spelled it correctly (case sensitive).","messagePattern":"The setting (.+?) is not known\\.  Make sure you spelled it correctly \\(case sensitive\\)\\.","errorType":"validation","errorClass":"BuilderException","httpStatus":null,"severity":"error","filePath":"src/main/java/org/apache/ibatis/builder/xml/XMLConfigBuilder.java","lineNumber":146,"sourceCode":"      environmentsElement(root.evalNode(\"environments\"));\n      databaseIdProviderElement(root.evalNode(\"databaseIdProvider\"));\n      typeHandlersElement(root.evalNode(\"typeHandlers\"));\n      mappersElement(root.evalNode(\"mappers\"));\n    } catch (Exception e) {\n      throw new BuilderException(\"Error parsing SQL Mapper Configuration. Cause: \" + e, e);\n    }\n  }\n\n  private Properties settingsAsProperties(XNode context) {\n    if (context == null) {\n      return new Properties();\n    }\n    Properties props = context.getChildrenAsProperties();\n    // Check that all settings are known to the configuration class\n    MetaClass metaConfig = MetaClass.forClass(Configuration.class, localReflectorFactory);\n    for (Object key : props.keySet()) {\n      if (!metaConfig.hasSetter(String.valueOf(key))) {\n        throw new BuilderException(\n            \"The setting \" + key + \" is not known.  Make sure you spelled it correctly (case sensitive).\");\n      }\n    }\n    return props;\n  }\n\n  private void loadCustomVfsImpl(Properties props) throws ClassNotFoundException {\n    String value = props.getProperty(\"vfsImpl\");\n    if (value == null) {\n      return;\n    }\n    String[] clazzes = value.split(\",\");\n    for (String clazz : clazzes) {\n      if (!clazz.isEmpty()) {\n        @SuppressWarnings(\"unchecked\")\n        Class<? extends VFS> vfsImpl = (Class<? extends VFS>) Resources.classForName(clazz);\n        configuration.setVfsImpl(vfsImpl);\n      }","sourceCodeStart":128,"sourceCodeEnd":164,"githubUrl":"https://github.com/mybatis/mybatis-3/blob/008069adb1b089579b5dcba87ee591908b263274/src/main/java/org/apache/ibatis/builder/xml/XMLConfigBuilder.java#L128-L164","documentation":"Error \"The setting {key} is not known.  Make sure you spelled it correctly (case sensitive).\" thrown in mybatis/mybatis-3.","triggerScenarios":"Thrown at src/main/java/org/apache/ibatis/builder/xml/XMLConfigBuilder.java:146 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Correct the setting name in mybatis-config.xml; setting names are case sensitive.","Compare the key against the list of supported settings in the MyBatis configuration documentation.","Remove the setting if it is obsolete or belongs to a different MyBatis version."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"008069adb1b089579b5dcba87ee591908b263274","analyzedAt":"2026-08-14T13:07:10.264Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}