diff --git a/se-commons-gradle/src/main/java/de/monticore/gradle/internal/isolation/CachedIsolation.java b/se-commons-gradle/src/main/java/de/monticore/gradle/internal/isolation/CachedIsolation.java index 55bb67d..187668d 100644 --- a/se-commons-gradle/src/main/java/de/monticore/gradle/internal/isolation/CachedIsolation.java +++ b/se-commons-gradle/src/main/java/de/monticore/gradle/internal/isolation/CachedIsolation.java @@ -202,7 +202,12 @@ public void executeInClassloader(String classname, String method, String[] args, .getMethod(method, String[].class) .invoke(null, (Object) args); } catch (ReflectiveOperationException e) { - passThrowableAlong(e.getCause()); + if (e.getCause() == null) { + // some exceptions, such as ClassNotFoundExceptions, do not have a cause + passThrowableAlong(e); + } else { + passThrowableAlong(e.getCause()); + } } return null; // Continue with the modified AccessControlContext