Author: markt
Date: Mon Mar 24 08:57:42 2008
New Revision: 640451

URL: http://svn.apache.org/viewvc?rev=640451&view=rev
Log:
Fix bug 44633. Tell use which class failed to load due to wrong version number.

Modified:
    tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties
    tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java

Modified: tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties?rev=640451&r1=640450&r2=640451&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties 
(original)
+++ tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties Mon 
Mar 24 08:57:42 2008
@@ -29,6 +29,7 @@
 standardLoader.starting=Starting this Loader
 standardLoader.stopping=Stopping this Loader
 webappClassLoader.stopped=Illegal access: this web application instance has 
been stopped already.  Could not load {0}.  The eventual following stack trace 
is caused by an error thrown for debugging purposes as well as to attempt to 
terminate the thread which caused the illegal access, and has no functional 
impact.
+webappClassLoader.wrongVersion=Unable to load class {0} due to a bad version 
number in the .class file.
 webappLoader.addRepository=Adding repository {0}
 webappLoader.deploy=Deploying class repositories to work directory {0}
 webappLoader.jarDeploy=Deploy JAR {0} to {1}

Modified: tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java?rev=640451&r1=640450&r2=640451&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java Mon Mar 
24 08:57:42 2008
@@ -1842,9 +1842,14 @@
             }
 
             if (entry.loadedClass == null) {
-                clazz = defineClass(name, entry.binaryContent, 0,
-                        entry.binaryContent.length, 
-                        new CodeSource(entry.codeBase, entry.certificates));
+                try {
+                    clazz = defineClass(name, entry.binaryContent, 0,
+                            entry.binaryContent.length, 
+                            new CodeSource(entry.codeBase, 
entry.certificates));
+                } catch (UnsupportedClassVersionError ucve) {
+                    throw new UnsupportedClassVersionError(
+                            sm.getString("webappClassLoader.wrongVersion", 
name));
+                }
                 entry.loadedClass = clazz;
                 entry.binaryContent = null;
                 entry.source = null;



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to