You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by "HAVENS,PETER (HP-Cupertino,ex3)" <pe...@hp.com> on 2002/08/14 03:06:22 UTC

realm implementation class cannot access catalina RealmBase class

 I have written a realm implementation class and it is having trouble at run
time accessing org/apache/catalina/realm/RealmBase.

I have my class file for my realm implementation in a jar not under the
webapps directory.  I believe the problem is that the Catalina.jar is not in
the classpath.  How do I configure things so that my realm implementation
class will have access to the Catalina RealmBase class?

There error I get is:
Caused by:
 java.lang.NoClassDefFoundError: org/apache/catalina/realm/RealmBase

Here is the Catalina.out I get when I try to start tomcat.

Exception during startup processing
java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
	at java.lang.reflect.Method.invoke(Method.java:324)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)
Caused by: java.lang.NoClassDefFoundError:
org/apache/catalina/realm/RealmBase
	at java.lang.ClassLoader.defineClass0(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:509)
	at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:246)
	at java.net.URLClassLoader.access$100(URLClassLoader.java:54)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:193)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:262)
	at
org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader
.java:1076)
	at
org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader
.java:992)
	at
org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader
.java:1076)
	at
org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader
.java:992)
	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:322)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:130)
	at
org.apache.catalina.util.xml.ObjectCreate.start(XmlMapper.java:616)
	at
org.apache.catalina.util.xml.XmlMapper.matchStart(XmlMapper.java:412)
	at
org.apache.catalina.util.xml.XmlMapper.startElement(XmlMapper.java:91)
	at
org.xml.sax.helpers.XMLReaderAdapter.startElement(XMLReaderAdapter.java:329)
	at
org.apache.xerces.parsers.SAXParser.startElement(SAXParser.java:1376)
	at
org.apache.xerces.validators.common.XMLValidator.callStartElement(XMLValidat
or.java:1284)
	at
org.apache.xerces.framework.XMLDocumentScanner.scanElement(XMLDocumentScanne
r.java:1806)
	at
org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XM
LDocumentScanner.java:1182)
	at
org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.
java:381)
	at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1098)
	at
org.xml.sax.helpers.XMLReaderAdapter.parse(XMLReaderAdapter.java:223)
	at javax.xml.parsers.SAXParser.parse(SAXParser.java:314)
	at javax.xml.parsers.SAXParser.parse(SAXParser.java:253)
	at
org.apache.catalina.util.xml.XmlMapper.readXml(XmlMapper.java:228)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:725)
	at org.apache.catalina.startup.Catalina.execute(Catalina.java:681)
	at org.apache.catalina.startup.Catalina.process(Catalina.java:179)
	... 5 more



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: realm implementation class cannot access catalina RealmBase class

Posted by "Craig R. McClanahan" <cr...@apache.org>.

On Tue, 13 Aug 2002, HAVENS,PETER (HP-Cupertino,ex3) wrote:

> Date: Tue, 13 Aug 2002 21:06:22 -0400
> From: "HAVENS,PETER (HP-Cupertino,ex3)" <pe...@hp.com>
> Reply-To: Tomcat Users List <to...@jakarta.apache.org>
> To: 'Tomcat Users List' <to...@jakarta.apache.org>
> Subject: realm implementation class cannot access catalina RealmBase class
>
>  I have written a realm implementation class and it is having trouble at run
> time accessing org/apache/catalina/realm/RealmBase.
>
> I have my class file for my realm implementation in a jar not under the
> webapps directory.  I believe the problem is that the Catalina.jar is not in
> the classpath.  How do I configure things so that my realm implementation
> class will have access to the Catalina RealmBase class?
>

Your JAR file needs to be visible to the class loader that Catalina uses
for loading it's internal classes.  For more information, see one of the
following links depending on which Tomcat version you are using:

http://jakarta.apache.org/tomcat/tomcat-4.0-doc/class-loader-howto.html
http://jakarta.apache.org/tomcat/tomcat-4.1-doc/class-loader-howto.html

Basically, your JAR file needs to be put in $CATALINA_HOME/server/lib to
be visible to the right code.

Craig


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>