diff --git a/src/main/scala/gitbucket/core/plugin/PluginRegistry.scala b/src/main/scala/gitbucket/core/plugin/PluginRegistry.scala index a68a9b3..7991aa2 100644 --- a/src/main/scala/gitbucket/core/plugin/PluginRegistry.scala +++ b/src/main/scala/gitbucket/core/plugin/PluginRegistry.scala @@ -331,6 +331,7 @@ instance.getPlugins().find(_.pluginId == pluginId) match { case Some(x) => { logger.warn(s"Plugin ${pluginId} is duplicated. ${x.pluginJar.getName} is available.") + classLoader.close() } case None => { // Migration @@ -370,7 +371,9 @@ } } } catch { - case e: Throwable => logger.error(s"Error during plugin initialization: ${pluginJar.getName}", e) + case e: Throwable => + logger.error(s"Error during plugin initialization: ${pluginJar.getName}", e) + classLoader.close() } }