You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dw...@apache.org on 2008/08/08 15:05:17 UTC
svn commit: r683958 -
/geronimo/server/branches/2.1/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/MultiParentClassLoader.java
Author: dwoods
Date: Fri Aug 8 06:05:16 2008
New Revision: 683958
URL: http://svn.apache.org/viewvc?rev=683958&view=rev
Log:
GERONIMO-4231 Build exception: java.net.MalformedURLException: no /Applications/Firefox.app/Contents/MacOS/firefox in spec. Added catch block and a log.debug() of the class name and exception, in case this ever becomes a runtime issue.
Modified:
geronimo/server/branches/2.1/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/MultiParentClassLoader.java
Modified: geronimo/server/branches/2.1/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/MultiParentClassLoader.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.1/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/MultiParentClassLoader.java?rev=683958&r1=683957&r2=683958&view=diff
==============================================================================
--- geronimo/server/branches/2.1/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/MultiParentClassLoader.java (original)
+++ geronimo/server/branches/2.1/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/MultiParentClassLoader.java Fri Aug 8 06:05:16 2008
@@ -22,6 +22,7 @@
import java.io.ObjectOutputStream;
import java.io.ObjectStreamClass;
import java.lang.reflect.Field;
+import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;
import java.net.URLStreamHandlerFactory;
@@ -447,7 +448,7 @@
* @return
* @throws ClassNotFoundException
*/
- protected synchronized Class<?> loadClassInternal(String name, boolean resolve, LinkedList<ClassLoader> visitedClassLoaders) throws ClassNotFoundException {
+ protected synchronized Class<?> loadClassInternal(String name, boolean resolve, LinkedList<ClassLoader> visitedClassLoaders) throws ClassNotFoundException, MalformedURLException {
//
// Check if class is in the loaded classes cache
//
@@ -495,10 +496,10 @@
* @throws ClassNotFoundException
*/
private synchronized Class<?> checkParents(String name, boolean resolve, LinkedList<ClassLoader> visitedClassLoaders) throws ClassNotFoundException {
- for (ClassLoader parent : parents) {
- if (!visitedClassLoaders.contains(parent)) {
- visitedClassLoaders.add(parent); // Track that we've been here before
- try {
+ for (ClassLoader parent : parents) {
+ if (!visitedClassLoaders.contains(parent)) {
+ visitedClassLoaders.add(parent); // Track that we've been here before
+ try {
if (parent instanceof MultiParentClassLoader) {
Class clazz = ((MultiParentClassLoader) parent).loadClassInternal(name, resolve, visitedClassLoaders);
if (clazz != null) return resolveClass(clazz, resolve);
@@ -506,9 +507,11 @@
return parent.loadClass(name);
}
} catch (ClassNotFoundException cnfe) {
- // ignore
- }
- }
+ // ignore
+ } catch (MalformedURLException me) {
+ log.debug("Failed findClass=" + name, me);
+ }
+ }
}
// To avoid yet another CNFE we'll simply return null and let the caller handle appropriately.
return null;