From 13041bfb9a9d1ff82a9cf49b724a703c40dfb48c Mon Sep 17 00:00:00 2001 From: Mark Harrah Date: Mon, 25 Nov 2013 21:03:40 -0500 Subject: [PATCH] Don't mark ExceptionInInitializerError as incompatible plugins: rethrow the cause instead. Fixes #1007. --- main/src/main/scala/sbt/Load.scala | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/main/src/main/scala/sbt/Load.scala b/main/src/main/scala/sbt/Load.scala index b08f1be16..fe584a3bb 100755 --- a/main/src/main/scala/sbt/Load.scala +++ b/main/src/main/scala/sbt/Load.scala @@ -610,7 +610,12 @@ object Load val names = getPluginNames(data.classpath, loader) val loaded = try loadPlugins(loader, names) - catch { case e: LinkageError => incompatiblePlugins(data, e) } + catch { + case e: ExceptionInInitializerError => + val cause = e.getCause + if(cause eq null) throw e else throw cause + case e: LinkageError => incompatiblePlugins(data, e) + } (names, loaded) } new sbt.LoadedPlugins(dir, data, loader, plugins, pluginNames)