{"record":{"id":"51a757f6fad4bc5f","repo":"apache/hadoop","slug":"classname-not-found","errorCode":null,"errorMessage":"{className} not found.","messagePattern":"(.+?) not found\\.","errorType":"exception","errorClass":"IOException","httpStatus":null,"severity":"error","filePath":"hadoop-tools/hadoop-aliyun/src/main/java/org/apache/hadoop/fs/aliyun/oss/AliyunOSSUtils.java","lineNumber":130,"sourceCode":"      Configuration newConf =\n          ProviderUtils.excludeIncompatibleCredentialProviders(conf,\n              AliyunOSSFileSystem.class);\n      credentials = new AliyunCredentialsProvider(newConf);\n    } else {\n      try {\n        LOG.debug(\"Credential provider class is:\" + className);\n        Class<?> credClass = Class.forName(className);\n        try {\n          credentials =\n              (CredentialsProvider)credClass.getDeclaredConstructor(\n                  URI.class, Configuration.class).newInstance(uri, conf);\n        } catch (NoSuchMethodException | SecurityException e) {\n          credentials =\n              (CredentialsProvider)credClass.getDeclaredConstructor()\n              .newInstance();\n        }\n      } catch (ClassNotFoundException e) {\n        throw new IOException(className + \" not found.\", e);\n      } catch (NoSuchMethodException | SecurityException e) {\n        throw new IOException(String.format(\"%s constructor exception.  A \" +\n            \"class specified in %s must provide an accessible constructor \" +\n            \"accepting URI and Configuration, or an accessible default \" +\n            \"constructor.\", className, CREDENTIALS_PROVIDER_KEY),\n            e);\n      } catch (ReflectiveOperationException | IllegalArgumentException e) {\n        throw new IOException(className + \" instantiation exception.\", e);\n      }\n    }\n\n    return credentials;\n  }\n\n  /**\n   * Turns a path (relative or otherwise) into an OSS key, adding a trailing\n   * \"/\" if the path is not the root <i>and</i> does not already have a \"/\"\n   * at the end.","sourceCodeStart":112,"sourceCodeEnd":148,"githubUrl":"https://github.com/apache/hadoop/blob/2add9630210752f88ceb1bb74eb65e37bf41da8e/hadoop-tools/hadoop-aliyun/src/main/java/org/apache/hadoop/fs/aliyun/oss/AliyunOSSUtils.java#L112-L148","documentation":"Error \"{className} not found.\" thrown in apache/hadoop.","triggerScenarios":"Thrown at hadoop-tools/hadoop-aliyun/src/main/java/org/apache/hadoop/fs/aliyun/oss/AliyunOSSUtils.java:130 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Ensure the named class is on the classpath; check the configuration key naming the class for typos."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"2add9630210752f88ceb1bb74eb65e37bf41da8e","analyzedAt":"2026-08-22T19:55:07.957Z","schemaVersion":2},"datasetVersion":"2026-08-22T20:17:22.307Z"}