Commit 96aeca38 authored by ggregory's avatar ggregory
Browse files

[LOG4J2-1920 ]ScriptEngineManager is not available in Android and causes

a NoClassDefFoundError. 'mvn clean install' builds.
parent 1dd745ce
Showing with 18 additions and 4 deletions
+18 -4
......@@ -211,7 +211,12 @@ public abstract class AbstractConfiguration extends AbstractFilterable implement
public void initialize() {
LOGGER.debug("Initializing configuration {}", this);
subst.setConfiguration(this);
scriptManager = new ScriptManager(this, watchManager);
try {
scriptManager = new ScriptManager(this, watchManager);
} catch (final LinkageError | Exception e) {
// LOG4J2-1920 ScriptEngineManager is not available in Android
LOGGER.info("Cannot initialize scripting support because this JRE does not support it.", e);
}
pluginManager.collectPlugins(pluginPackages);
final PluginManager levelPlugins = new PluginManager(Level.CATEGORY);
levelPlugins.collectPlugins(pluginPackages);
......@@ -515,8 +520,9 @@ public abstract class AbstractConfiguration extends AbstractFilterable implement
LOGGER.error("Script reference to {} not added. Scripts definition cannot contain script references",
script.getName());
} else {
scriptManager.addScript(script);
}
if (scriptManager != null) {
scriptManager.addScript(script);
}}
}
} else if (child.getName().equalsIgnoreCase("Appenders")) {
appenders = child.getObject();
......
......@@ -31,7 +31,12 @@ public class SslConfigurationTest {
private static final int TLS_TEST_PORT = 443;
@Test
public void emptyConfigurationDoesntCauseNullSSLSocketFactory() {
public void equals() {
Assert.assertEquals(SslConfiguration.createSSLConfiguration(null, null, null), SslConfiguration.createSSLConfiguration(null, null, null));
}
@Test
public void emptyConfigurationDoesntCauseNullSSLSocketFactory() {
final SslConfiguration sc = SslConfiguration.createSSLConfiguration(null, null, null);
final SSLSocketFactory factory = sc.getSslSocketFactory();
Assert.assertNotNull(factory);
......
......@@ -61,6 +61,9 @@
<action issue="LOG4J2-1885" dev="mattsicker" type="fix">
Fix documentation about default additivity value for loggers.
</action>
<action issue="LOG4J2-1920" dev="ggregory" type="fix" due-to="Ajitha">
ScriptEngineManager is not available in Android and causes a NoClassDefFoundError.
</action>
<action issue="LOG4J2-1851" dev="mikes" type="update">
Move server components from log4j-core to new log4-server module.
</action>
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment