Hi,

The Dependencies on Extensions mechanism is described in Servlet Spec 3.0 -
chapter 10.7.1.

In the web application's Manifest file one should describe the following:

Extension-List: <extension>
<extension>-Extension-Name: <name>
<extension>-Specification-Version: <version>
<extension>-Implementation-Version: <version>
<extension>-Implementation-Vendor-Id: <vendor>

in the jar file's Manifest (this is the extension), one should specify:

Extension-Name: <name>
Specification-Version: <version>
Implementation-Version: <version>
Implementation-Vendor-Id: <vendor>


So from the spec we have "The container must provide a directory for these
libraries. The files placed within this directory must be available across
all Web applications. The location of this directory is container-specific.
The class loader the servlet container uses for loading these library files
must be the same for all Web applications within the same JVM. This class
loader instance must be somewhere in the chain of parent class loaders of
the Web application class loader."

>From Tomcat sources I can see that while starting web app context
(StandardContext.startInternal()) the extensions are checked for
availability (ExtensionValidator.validateApplication). I can see again in
the ExtensionValidator that "catalina.ext.dirs" also is scanned while
scanning for container level extensions. Unfortunately I cannot find a
place where this extensions are made available for web applications.


Regards
Violeta

2012/2/3 Pid <p...@pidster.com>

> On 03/02/2012 13:25, Violeta Georgieva wrote:
> > Hi,
> >
> > I'm using Tomcat 7.0.23 on Windows.
> >
> > I have a web application that specifies in the Manifest that wants to use
> > an extension.
>
> How does it do that?
>
> > I specify "catalina.ext.dirs" to point to the directory where I placed my
> > extensions jar files.
>
> How is that property processed?
>
>
> > Unfortunately when I request my application I'm receiving
> > "ClassNotFoundException".
> >
> > I verified that
> >
> > ExtensionValidator.validateApplication() succeeded to find the extension
> > jar file.
> >
> > What could be the problem? May be I'm missing some configuration?
>
> No idea.  What are extensions?
>
> How is that JAR file added to the/a classloader?
>
>
> p
>
>
> > Thanks in advance.
> >
> > Regards
> >
> > Violeta
> >
>
>
> --
>
> [key:62590808]
>
>

Reply via email to