diff --git a/core/src/main/java/org/apache/struts2/config/StrutsXmlConfigurationProvider.java b/core/src/main/java/org/apache/struts2/config/StrutsXmlConfigurationProvider.java index 047fc0077..a1d43733a 100644 --- a/core/src/main/java/org/apache/struts2/config/StrutsXmlConfigurationProvider.java +++ b/core/src/main/java/org/apache/struts2/config/StrutsXmlConfigurationProvider.java @@ -91,11 +91,10 @@ public class StrutsXmlConfigurationProvider extends XmlConfigurationProvider { @Override public void register(ContainerBuilder containerBuilder, LocatableProperties props) throws ConfigurationException { if (servletContext != null && !containerBuilder.contains(ServletContext.class)) { - containerBuilder.factory(ServletContext.class, new Factory() { - public Object create(Context context) throws Exception { + containerBuilder.factory(ServletContext.class, new Factory() { + public ServletContext create(Context context) throws Exception { return servletContext; } - }); } super.register(containerBuilder, props); @@ -148,7 +147,7 @@ public class StrutsXmlConfigurationProvider extends XmlConfigurationProvider { } if (file.exists()) { try { - url = file.toURL(); + url = file.toURI().toURL(); } catch (MalformedURLException e) { throw new IOException("Unable to convert "+file+" to a URL"); } @@ -173,6 +172,4 @@ public class StrutsXmlConfigurationProvider extends XmlConfigurationProvider { public String toString() { return ("Struts XML configuration provider ("+filename+")"); } - - }