| If you have an optional extension (using the variant plugin) that is defining a private static method which has in its signature a type from its optional dependency, then Guice will blow up when attempting to load it, causing every subsequent extensions to fail loading. Upon loading a new extension, the ExtensionFinder scans for potential classloading problems but doesn't catch all cases. Additionally, I have found that when you load a plugin dynamically, extensions are refreshed before classloader of existing plugins have been updated which lead to having Guice trying to load classes without having the right classloading. |