Mercurial > hg > release > thermostat-1.0
changeset 1098:2471ea5c679c
Emit output if NoClassDefFoundError is thrown
reviewed-by: omajid
review-thread: http://icedtea.classpath.org/pipermail/thermostat/2013-May/006637.html
author | Jon VanAlten <jon.vanalten@redhat.com> |
---|---|
date | Thu, 16 May 2013 11:40:43 -0600 |
parents | e31208c2d0c8 |
children | 07dca767d55d |
files | launcher/src/main/java/com/redhat/thermostat/launcher/internal/LauncherImpl.java |
diffstat | 1 files changed, 7 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/launcher/src/main/java/com/redhat/thermostat/launcher/internal/LauncherImpl.java Fri May 17 16:18:36 2013 -0400 +++ b/launcher/src/main/java/com/redhat/thermostat/launcher/internal/LauncherImpl.java Thu May 16 11:40:43 2013 -0600 @@ -131,6 +131,13 @@ } else { runCommandFromArguments(args, listeners, inShell); } + } catch (NoClassDefFoundError e) { + // This could mean pom is missing <Private-Package> or <Export-Package> lines. + // Should be resolved during development, but if we don't catch and print + // something the error is swallowed and the cause is non-obvious. + System.err.println("Caught NoClassDefFoundError! Check pom for the missing class: \"" + + e.getMessage() + "\". Its package may not be listed."); + throw e; } finally { args = null; boolean isLastLaunch = (usageCount.decrementAndGet() == 0);