You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by "Nikita Koval (JIRA)" <ji...@apache.org> on 2014/09/17 13:48:33 UTC
[jira] [Created] (LOG4J2-834) NoClassDefFoundError in
ThrowableProxy
Nikita Koval created LOG4J2-834:
-----------------------------------
Summary: NoClassDefFoundError in ThrowableProxy
Key: LOG4J2-834
URL: https://issues.apache.org/jira/browse/LOG4J2-834
Project: Log4j 2
Issue Type: Bug
Reporter: Nikita Koval
In method *loadClass* we expect {{ClassNotFoundException}}. But if class comes from another java machine we can get {{NoClassDefFoundError}}.
Possible fix:
{code:java}
private Class<?> loadClass(final ClassLoader lastLoader, final String className) {
// XXX: this is overly complicated
Class<?> clazz;
if (lastLoader != null) {
try {
clazz = Loader.initializeClass(className, lastLoader);
if (clazz != null) {
return clazz;
}
} catch (final Throwable ignore) {
// Ignore exception.
}
}
try {
clazz = Loader.loadClass(className);
} catch (final ClassNotFoundException | LinkageError ignored) {
try {
clazz = Loader.initializeClass(className, this.getClass().getClassLoader());
} catch (final ClassNotFoundException | LinkageError ignore) {
return null;
}
}
return clazz;
}
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org