private void loadJavaPluginOrCloseFile(ZipFile zipFile) {
        boolean loaded = false;
        try {
            loaded = loadJavaPlugin(zipFile);
        } catch (Exception e) {
            try {
                zipFile.close();
            } catch (IOException ex) {
                e.addSuppressed(
                        new InputOutputException("Caught an error while closing the zip file", ex));
            }
        }
        if (!loaded) {
            try {
                zipFile.close();
            } catch (IOException ex) {
                throw new InputOutputException("Caught an error while closing the zip file", ex);
            }
        }
    }
@implNote Start plugins after all beans are ready so that plugins can get any bean when
          starting.
turms-server-common/src/main/java/im/turms/server/common/infra/plugin/PluginManager.java