1.1 --- a/src/net/fortuna/ical4j/util/ResourceLoader.java Tue Feb 10 19:58:00 2015 +0100 1.2 +++ b/src/net/fortuna/ical4j/util/ResourceLoader.java Tue Feb 10 21:32:00 2015 +0100 1.3 @@ -54,11 +54,20 @@ 1.4 public static URL getResource(String name) { 1.5 URL resource = null; 1.6 try { 1.7 + // Hack to bootstrap a multithreaded class loader context 1.8 + if (Thread.currentThread().getContextClassLoader() == null) 1.9 + Thread.currentThread().setContextClassLoader(ResourceLoader.class.getClassLoader()); 1.10 resource = Thread.currentThread().getContextClassLoader().getResource(name); 1.11 + 1.12 + if (resource == null) // Flawed build path for assets, try again 1.13 + resource = Thread.currentThread().getContextClassLoader().getResource("/" + name); 1.14 } 1.15 catch (SecurityException e) { 1.16 LOG.info("Unable to access context classloader, using default. " + e.getMessage()); 1.17 } 1.18 + catch (Exception e) { 1.19 + LOG.info("General context classloader error, using default. " + e.getMessage()); 1.20 + } 1.21 if (resource == null) { 1.22 resource = ResourceLoader.class.getResource("/" + name); 1.23 } 1.24 @@ -74,11 +83,19 @@ 1.25 public static InputStream getResourceAsStream(String name) { 1.26 InputStream stream = null; 1.27 try { 1.28 + // Hack to bootstrap a multithreaded class loader context 1.29 + if (Thread.currentThread().getContextClassLoader() == null) 1.30 + Thread.currentThread().setContextClassLoader(ResourceLoader.class.getClassLoader()); 1.31 stream = Thread.currentThread().getContextClassLoader().getResourceAsStream(name); 1.32 + if (stream == null) 1.33 + stream = Thread.currentThread().getContextClassLoader().getResourceAsStream("/" + name); 1.34 } 1.35 catch (SecurityException e) { 1.36 LOG.info("Unable to access context classloader, using default. " + e.getMessage()); 1.37 } 1.38 + catch (Exception e) { 1.39 + LOG.info("General context classloader error, using default. " + e.getMessage()); 1.40 + } 1.41 if (stream == null) { 1.42 stream = ResourceLoader.class.getResourceAsStream("/" + name); 1.43 }