docs: protected void loadConfigs() {
          configs = new Properties();
          // If run as a jar, find in file system classpath first, if not found, then get resource in jar.
          if (ClassPathUtil.testRunMainInJar()) {
              String[] classPathsInFileSystem = ClassPathUtil.getAllClassPathNotInJar();
              String workDir = System.getProperty("user.dir");
              String mainJarRelativePath = ClassPathUtil.getClassPathsInSystemProperty()[0];
              File mainJar = new File(workDir, mainJarRelativePath);
              File mainJarDir = mainJar.getParentFile();
              for (String classPath : classPathsInFileSystem) {
                  File classPathFile = new File(classPath);
                  File configFile;
                  if (classPathFile.isAbsolute()) {
                      configFile = new File(classPathFile, propertiesAbsoluteClassPath);
                  } else {
                      configFile = new File(new File(mainJarDir, classPath), propertiesAbsoluteClassPath);
                  }
                  if (configFile.exists() && configFile.isFile()) {
                      InputStream is = null;
                      try {
                          is = new FileInputStream(configFile);
                          loadConfigsFromStream(is);
                      } catch (FileNotFoundException e) {
                          LOGGER.warn("Load config file " + configFile.getPath() + " error!", e);
                      }
                      return;
                  }
              }
          }
          if (propertiesFilePath == null) {
              if (propertiesAbsoluteClassPath == null) {
                  return;
              }
              InputStream is = OneProperties.class.getResourceAsStream(propertiesAbsoluteClassPath);
              loadConfigsFromStream(is);
          } else {
              configs = PropertiesIO.load(propertiesFilePath);
          }
      }