in impl/maven-core/src/main/java/org/apache/maven/exception/DefaultExceptionHandler.java [163:215]
private String getReference(Set<Throwable> dejaVu, Throwable exception) {
String reference = "";
if (!dejaVu.add(exception)) {
return reference;
}
if (exception != null) {
if (exception instanceof MojoExecutionException) {
reference = MojoExecutionException.class.getSimpleName();
Throwable cause = exception.getCause();
if (cause instanceof IOException) {
cause = cause.getCause();
if (cause instanceof ConnectException) {
reference = ConnectException.class.getSimpleName();
}
}
} else if (exception instanceof LinkageError) {
reference = LinkageError.class.getSimpleName();
} else if (exception instanceof PluginExecutionException) {
Throwable cause = exception.getCause();
if (cause instanceof PluginContainerException) {
Throwable cause2 = cause.getCause();
if (cause2 instanceof NoClassDefFoundError) {
String message = cause2.getMessage();
if (message != null && message.contains("org/sonatype/aether/")) {
reference = "AetherClassNotFound";
}
}
}
if (reference == null || reference.isEmpty()) {
reference = getReference(dejaVu, cause);
}
if (reference == null || reference.isEmpty()) {
reference = exception.getClass().getSimpleName();
}
} else if (exception instanceof LifecycleExecutionException) {
reference = getReference(dejaVu, exception.getCause());
} else if (isNoteworthyException(exception)) {
reference = exception.getClass().getSimpleName();
}
}
if ((reference != null && !reference.isEmpty()) && !reference.startsWith("http:")) {
reference = "http://cwiki.apache.org/confluence/display/MAVEN/" + reference;
}
return reference;
}