You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Violeta Georgieva <mi...@gmail.com> on 2012/02/03 14:25:33 UTC

Dependencies on extensions functionality

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.

I specify "catalina.ext.dirs" to point to the directory where I placed my
extensions jar files.

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?

Thanks in advance.

Regards

Violeta

Re: Dependencies on extensions functionality

Posted by Pid <pi...@pidster.com>.
On 04/02/2012 16:44, Violeta Georgieva wrote:
> Hi,
> 
> The Dependencies on Extensions mechanism is described in Servlet Spec 3.0 -
> chapter 10.7.1.

It appears to be first documented in Tomcat for Servlet 2.3.

> 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>

I'm curious, what kind of extension are you creating and what for?


p

> 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 <pi...@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]
>>
>>
> 


-- 

[key:62590808]


Re: Dependencies on extensions functionality

Posted by Violeta Georgieva <mi...@gmail.com>.
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 <pi...@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]
>
>

Re: Dependencies on extensions functionality

Posted by Pid <pi...@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]


Re: [OT] Dependencies on extensions functionality

Posted by Christopher Schultz <ch...@christopherschultz.net>.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Casper,

On 2/6/12 2:27 AM, Casper Wandahl Schmidt wrote:
> I was just saying what others use to say whenever someone attaches 
> something :) (eg. Pid is normally on the spot and tell people to
> post xml-files inline instead attaching)

Fair enough.

I actually would prefer that people attach things (and keep them small)
rather than posting a link to dropbox or whatever. Attachments go into
the archives and are readable at a later date. Stuff in dropbox
eventually expires and so someone looking through the archives might
not be able to see some important information (e.g. "I posted my
working configuration here: [dropbox link]. Thanks for the help!").

- -chris
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk8wGgcACgkQ9CaO5/Lv0PBxsgCfc6BnecoHAxulYWhbwYiGUML/
19UAoKXOEeme8S9RSIjr05R/V6ySPQHm
=tl6r
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


RE: [OT] Dependencies on extensions functionality

Posted by Casper Wandahl Schmidt <ka...@gmail.com>.

-----Original Message-----
From: Christopher Schultz [mailto:chris@christopherschultz.net] 
Sent: 5. februar 2012 21:27
To: Tomcat Users List
Subject: Re: [OT] Dependencies on extensions functionality

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Casper,

On 2/5/12 2:39 AM, Casper Wandahl Schmidt wrote:
> Den 05-02-2012 08:18, Violeta Georgieva skrev:
>> I'm attaching again the examples cause I think that one of them was 
>> not attached very well.
> 
> The list strips attachments so you need to upload the files somewhere 
> (eg. rapidshare) and give us a link to download it :)

The ZIP attachment came through just fine.

I was just saying what others use to say whenever someone attaches something :) (eg. Pid is normally on the spot and tell people to post xml-files inline instead attaching)

Casper

- -chris
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk8u5hEACgkQ9CaO5/Lv0PDdpACgq8dwaqlbjPtP9qOPnydt/2Y/
+T4An2eE6L2KeM7uch/5x7FtqrYlIkXf
=KNrx
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: [OT] Dependencies on extensions functionality

Posted by Christopher Schultz <ch...@christopherschultz.net>.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Casper,

On 2/5/12 2:39 AM, Casper Wandahl Schmidt wrote:
> Den 05-02-2012 08:18, Violeta Georgieva skrev:
>> I'm attaching again the examples cause I think that one of them
>> was not attached very well.
> 
> The list strips attachments so you need to upload the files
> somewhere (eg. rapidshare) and give us a link to download it :)

The ZIP attachment came through just fine.

- -chris
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk8u5hEACgkQ9CaO5/Lv0PDdpACgq8dwaqlbjPtP9qOPnydt/2Y/
+T4An2eE6L2KeM7uch/5x7FtqrYlIkXf
=KNrx
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Dependencies on extensions functionality

Posted by Violeta Georgieva <mi...@gmail.com>.
here is a link to the attached example

https://docs.google.com/open?id=0B-HUwAvkRIKJZTNhMDE1ZjEtY2M0Yy00YjZkLWE4NjktYjAwZWIzMzU2NzQw

2012/2/5 Casper Wandahl Schmidt <ka...@gmail.com>

>
>
> Den 05-02-2012 08:18, Violeta Georgieva skrev:
>
> I'm attaching again the examples cause I think that one of them was not
>> attached very well.
>>
>
> The list strips attachments so you need to upload the files somewhere (eg.
> rapidshare) and give us a link to download it :)
>
>>
>>
>> 2012/2/4 Violeta Georgieva <milesg78@gmail.com <ma...@gmail.com>>
>>
>>
>>
>>    Hi,
>>    Here is how one can reproduce the scenario:
>>    1. Start Tomcat
>>    2. Put attached war in webapps folder
>>    3. In the console the following error message is printed:
>>    INFO: Deploying web application archive
>>    C:\apache-tomcat-7.0.25\**webapps\test-web-app.war
>>    Feb 4, 2012 10:41:44 PM
>>    org.apache.catalina.util.**ExtensionValidator
>> validateManifestResources
>>    INFO: ExtensionValidator[/test-web-**app][Web Application Manifest]:
>>    Required extension [test-jar] not found.
>>    Feb 4, 2012 10:41:44 PM
>>    org.apache.catalina.util.**ExtensionValidator
>> validateManifestResources
>>    INFO: ExtensionValidator[/test-web-**app]: Failure to find [1]
>>    required extension(s).
>>    Feb 4, 2012 10:41:44 PM org.apache.catalina.core.**StandardContext
>>    startInternal
>>    SEVERE: Error getConfigured
>>    Feb 4, 2012 10:41:44 PM org.apache.catalina.core.**StandardContext
>>    startInternal
>>    SEVERE: Context [/test-web-app] startup failed due to previous errors
>>    4. Stop Tomcat
>>    5. Create folder - C:\apache-tomcat-7.0.25\ext
>>    6. Put the attached jar file in the folder created on step 5
>>    7. Start Tomcat with additional VM argument
>>    -Dcatalina.ext.dirs=C:/apache-**tomcat-7.0.25/ext
>>    8. This time the application is deployed successfully.
>>    9. Request http://localhost:8080/test-**web-app/TestServlet<http://localhost:8080/test-web-app/TestServlet>
>>    10. Internal Server Error is returned with the following Exception:
>>
>>    java.lang.**ClassNotFoundException: test.TestExtension
>>        org.apache.catalina.loader.**WebappClassLoader.loadClass(**
>> WebappClassLoader.java:1701)
>>        org.apache.catalina.loader.**WebappClassLoader.loadClass(**
>> WebappClassLoader.java:1546)
>>        test.TestServlet.doGet(**TestServlet.java:28)
>>        javax.servlet.http.**HttpServlet.service(**HttpServlet.java:621)
>>        javax.servlet.http.**HttpServlet.service(**HttpServlet.java:722)
>>
>>    I did not change any other Tomcat configuration so it is running
>>    with defaults.
>>    The scenario is that TestServlet (in war file) instantiates
>>    TestExtension (in jar file, placed in the ext directory).
>>    Regards
>>    Violeta
>>    2012/2/4 Christopher Schultz <chris@christopherschultz.net
>>    <mailto:chris@**christopherschultz.net <ch...@christopherschultz.net>>>
>>
>>
>>
>>        -----BEGIN PGP SIGNED MESSAGE-----
>>        Hash: SHA1
>>
>>        Violetta,
>>
>>        On 2/3/12 8:25 AM, Violeta Georgieva wrote:
>>        > I have a web application that specifies in the Manifest that
>>        wants
>>        > to use an extension.
>>        >
>>        > I specify "catalina.ext.dirs" to point to the directory where I
>>        > placed my extensions jar files.
>>
>>        What is the value of the catalina.ext.dirs system property?
>>        Where did
>>        you set it? Can you verify that it is set when the JVM
>>        actually starts?
>>
>>        What files are in the directory or directories specified by
>>        catalina.ext.dir?
>>
>>        > Unfortunately when I request my application I'm receiving
>>        > "ClassNotFoundException".
>>
>>        What class cannot be found? Is it found in any of the JAR
>>        files you
>>        have in your catalina.ext.dir (which is, of course, the whole
>>        point of
>>        the feature)?
>>
>>        > I verified that
>>        >
>>        > ExtensionValidator.**validateApplication() succeeded to find the
>>        > extension jar file.
>>
>>        How did you verify this? Are there logs that suggest your JAR
>>        file is
>>        being scanned? Please provide them.
>>
>>        > What could be the problem? May be I'm missing some
>>        configuration?
>>
>>        You might be, but you haven't provided any configuration to
>>        us, so we
>>        don't know if you're missing something. Clearly, something is
>>        misconfigured.
>>
>>        - -chris
>>        -----BEGIN PGP SIGNATURE-----
>>        Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
>>        Comment: GPGTools - http://gpgtools.org <http://gpgtools.org/>
>>
>>        Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>>
>>        iEYEARECAAYFAk8tdnIACgkQ9CaO5/**Lv0PCjtQCgkh8h231IQe4SZjkz2J0V**
>> zQh1
>>        r3IAnidzPXJfRdV1TEu3b+**qf0jiplsfA
>>        =Lv/W
>>        -----END PGP SIGNATURE-----
>>
>>        ------------------------------**------------------------------**
>> ---------
>>        To unsubscribe, e-mail: users-unsubscribe@tomcat.**apache.org<us...@tomcat.apache.org>
>>        <ma...@tomcat.apache.org>>
>>
>>
>>        For additional commands, e-mail: users-help@tomcat.apache.org
>>        <ma...@tomcat.apache.org>>
>>
>>
>>
>>
>>
>>
>>
>> ------------------------------**------------------------------**---------
>> To unsubscribe, e-mail: users-unsubscribe@tomcat.**apache.org<us...@tomcat.apache.org>
>> For additional commands, e-mail: users-help@tomcat.apache.org
>>
>

Re: Dependencies on extensions functionality

Posted by Casper Wandahl Schmidt <ka...@gmail.com>.

Den 05-02-2012 08:18, Violeta Georgieva skrev:
> I'm attaching again the examples cause I think that one of them was 
> not attached very well.

The list strips attachments so you need to upload the files somewhere 
(eg. rapidshare) and give us a link to download it :)
>
>
> 2012/2/4 Violeta Georgieva <milesg78@gmail.com 
> <ma...@gmail.com>>
>
>     Hi,
>     Here is how one can reproduce the scenario:
>     1. Start Tomcat
>     2. Put attached war in webapps folder
>     3. In the console the following error message is printed:
>     INFO: Deploying web application archive
>     C:\apache-tomcat-7.0.25\webapps\test-web-app.war
>     Feb 4, 2012 10:41:44 PM
>     org.apache.catalina.util.ExtensionValidator validateManifestResources
>     INFO: ExtensionValidator[/test-web-app][Web Application Manifest]:
>     Required extension [test-jar] not found.
>     Feb 4, 2012 10:41:44 PM
>     org.apache.catalina.util.ExtensionValidator validateManifestResources
>     INFO: ExtensionValidator[/test-web-app]: Failure to find [1]
>     required extension(s).
>     Feb 4, 2012 10:41:44 PM org.apache.catalina.core.StandardContext
>     startInternal
>     SEVERE: Error getConfigured
>     Feb 4, 2012 10:41:44 PM org.apache.catalina.core.StandardContext
>     startInternal
>     SEVERE: Context [/test-web-app] startup failed due to previous errors
>     4. Stop Tomcat
>     5. Create folder - C:\apache-tomcat-7.0.25\ext
>     6. Put the attached jar file in the folder created on step 5
>     7. Start Tomcat with additional VM argument
>     -Dcatalina.ext.dirs=C:/apache-tomcat-7.0.25/ext
>     8. This time the application is deployed successfully.
>     9. Request http://localhost:8080/test-web-app/TestServlet
>     10. Internal Server Error is returned with the following Exception:
>
>     java.lang.ClassNotFoundException: test.TestExtension
>     	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1701)
>     	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
>     	test.TestServlet.doGet(TestServlet.java:28)
>     	javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
>     	javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
>
>     I did not change any other Tomcat configuration so it is running
>     with defaults.
>     The scenario is that TestServlet (in war file) instantiates
>     TestExtension (in jar file, placed in the ext directory).
>     Regards
>     Violeta
>     2012/2/4 Christopher Schultz <chris@christopherschultz.net
>     <ma...@christopherschultz.net>>
>
>         -----BEGIN PGP SIGNED MESSAGE-----
>         Hash: SHA1
>
>         Violetta,
>
>         On 2/3/12 8:25 AM, Violeta Georgieva wrote:
>         > I have a web application that specifies in the Manifest that
>         wants
>         > to use an extension.
>         >
>         > I specify "catalina.ext.dirs" to point to the directory where I
>         > placed my extensions jar files.
>
>         What is the value of the catalina.ext.dirs system property?
>         Where did
>         you set it? Can you verify that it is set when the JVM
>         actually starts?
>
>         What files are in the directory or directories specified by
>         catalina.ext.dir?
>
>         > Unfortunately when I request my application I'm receiving
>         > "ClassNotFoundException".
>
>         What class cannot be found? Is it found in any of the JAR
>         files you
>         have in your catalina.ext.dir (which is, of course, the whole
>         point of
>         the feature)?
>
>         > I verified that
>         >
>         > ExtensionValidator.validateApplication() succeeded to find the
>         > extension jar file.
>
>         How did you verify this? Are there logs that suggest your JAR
>         file is
>         being scanned? Please provide them.
>
>         > What could be the problem? May be I'm missing some
>         configuration?
>
>         You might be, but you haven't provided any configuration to
>         us, so we
>         don't know if you're missing something. Clearly, something is
>         misconfigured.
>
>         - -chris
>         -----BEGIN PGP SIGNATURE-----
>         Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
>         Comment: GPGTools - http://gpgtools.org <http://gpgtools.org/>
>         Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>
>         iEYEARECAAYFAk8tdnIACgkQ9CaO5/Lv0PCjtQCgkh8h231IQe4SZjkz2J0VzQh1
>         r3IAnidzPXJfRdV1TEu3b+qf0jiplsfA
>         =Lv/W
>         -----END PGP SIGNATURE-----
>
>         ---------------------------------------------------------------------
>         To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>         <ma...@tomcat.apache.org>
>         For additional commands, e-mail: users-help@tomcat.apache.org
>         <ma...@tomcat.apache.org>
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org

Re: Dependencies on extensions functionality

Posted by Violeta Georgieva <mi...@gmail.com>.
I'm attaching again the examples cause I think that one of them was not
attached very well.




2012/2/4 Violeta Georgieva <mi...@gmail.com>

> Hi,
>
> Here is how one can reproduce the scenario:
>
> 1. Start Tomcat
> 2. Put attached war in webapps folder
> 3. In the console the following error message is printed:
>
> INFO: Deploying web application archive
> C:\apache-tomcat-7.0.25\webapps\test-web-app.war
> Feb 4, 2012 10:41:44 PM org.apache.catalina.util.ExtensionValidator
> validateManifestResources
> INFO: ExtensionValidator[/test-web-app][Web Application Manifest]:
> Required extension [test-jar] not found.
> Feb 4, 2012 10:41:44 PM org.apache.catalina.util.ExtensionValidator
> validateManifestResources
> INFO: ExtensionValidator[/test-web-app]: Failure to find [1] required
> extension(s).
> Feb 4, 2012 10:41:44 PM org.apache.catalina.core.StandardContext
> startInternal
> SEVERE: Error getConfigured
> Feb 4, 2012 10:41:44 PM org.apache.catalina.core.StandardContext
> startInternal
> SEVERE: Context [/test-web-app] startup failed due to previous errors
>
> 4. Stop Tomcat
> 5. Create folder - C:\apache-tomcat-7.0.25\ext
> 6. Put the attached jar file in the folder created on step 5
> 7. Start Tomcat with additional VM argument
> -Dcatalina.ext.dirs=C:/apache-tomcat-7.0.25/ext
> 8. This time the application is deployed successfully.
> 9. Request http://localhost:8080/test-web-app/TestServlet
> 10. Internal Server Error is returned with the following Exception:
>
>
> java.lang.ClassNotFoundException: test.TestExtension
> 	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1701)
> 	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
> 	test.TestServlet.doGet(TestServlet.java:28)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
>
> I did not change any other Tomcat configuration so it is running with
> defaults.
>
> The scenario is that TestServlet (in war file) instantiates TestExtension
> (in jar file, placed in the ext directory).
>
> Regards
> Violeta
>  2012/2/4 Christopher Schultz <ch...@christopherschultz.net>
>
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> Violetta,
>>
>> On 2/3/12 8:25 AM, Violeta Georgieva wrote:
>> > I have a web application that specifies in the Manifest that wants
>> > to use an extension.
>> >
>> > I specify "catalina.ext.dirs" to point to the directory where I
>> > placed my extensions jar files.
>>
>> What is the value of the catalina.ext.dirs system property? Where did
>> you set it? Can you verify that it is set when the JVM actually starts?
>>
>> What files are in the directory or directories specified by
>> catalina.ext.dir?
>>
>> > Unfortunately when I request my application I'm receiving
>> > "ClassNotFoundException".
>>
>> What class cannot be found? Is it found in any of the JAR files you
>> have in your catalina.ext.dir (which is, of course, the whole point of
>> the feature)?
>>
>> > I verified that
>> >
>> > ExtensionValidator.validateApplication() succeeded to find the
>> > extension jar file.
>>
>> How did you verify this? Are there logs that suggest your JAR file is
>> being scanned? Please provide them.
>>
>> > What could be the problem? May be I'm missing some configuration?
>>
>> You might be, but you haven't provided any configuration to us, so we
>> don't know if you're missing something. Clearly, something is
>> misconfigured.
>>
>> - -chris
>> -----BEGIN PGP SIGNATURE-----
>> Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
>> Comment: GPGTools - http://gpgtools.org
>> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>>
>> iEYEARECAAYFAk8tdnIACgkQ9CaO5/Lv0PCjtQCgkh8h231IQe4SZjkz2J0VzQh1
>> r3IAnidzPXJfRdV1TEu3b+qf0jiplsfA
>> =Lv/W
>> -----END PGP SIGNATURE-----
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>>
>>
>

Re: Dependencies on extensions functionality

Posted by Violeta Georgieva <mi...@gmail.com>.
Hi,

Here is the bug that I created:
https://issues.apache.org/bugzilla/show_bug.cgi?id=52607

I didn't find "catalina.ext.dirs" property in the documentation.
I just attached the debugger and checked the sources while executing the
scenario ;-)

Thanks and Regards
Violeta

2012/2/5 Konstantin Kolinko <kn...@gmail.com>

> 2012/2/5 Violeta Georgieva <mi...@gmail.com>:
> > Hi,
> >
> > As I wrote I'm placing the extension jar in
> "C:\apache-tomcat-7.0.25\ext".
> > I tried the following: I specified "C:\apache-tomcat-7.0.25\lib" as value
> > for "catalina.ext.dirs" property and now the web application is working.
> >
> > But then I have two questions:
> >
> > - Do we need "catalina.ext.dirs" at all if we can use only Tomcat's
> > classpath dirs? Let's look through them instead of introducing additional
> > property.
>
> Good question. Please file a bug in Bugzilla.  You can include a link
> to this thread.
>
> Searching the sources for "catalina.ext.dirs" it is mentioned in
> ExtensionValidator.java source only. It is never mentioned in User
> Guide or Configuration Reference.
>
> It should be added to docs/config/systemprops.html and maybe mentioned
> in docs/class-loader-howto.html
>
>
> Searching just for "ext.dirs" you see one more place,
> AntCompiler.java, that uses just "java.ext.dirs" and not catalina one.
> So maybe you had to redefine the "java.ext.dirs" property, like
> catalina.sh does with "java.endorsed.dirs".
>
>
> I wonder how did you found this "catalina.ext.dirs" property. From Javadoc?
>
> > - Does this mean that we can use only Tomcat's classpath dirs and we
> cannot
> > specify a custom directory for these extensions?
>
> You can. You can reconfigure classpath in the conf/catalina.properties
> file.
>
> Best regards,
> Konstantin Kolinko
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>

Re: Dependencies on extensions functionality

Posted by Konstantin Kolinko <kn...@gmail.com>.
2012/2/5 Violeta Georgieva <mi...@gmail.com>:
> Hi,
>
> As I wrote I'm placing the extension jar in "C:\apache-tomcat-7.0.25\ext".
> I tried the following: I specified "C:\apache-tomcat-7.0.25\lib" as value
> for "catalina.ext.dirs" property and now the web application is working.
>
> But then I have two questions:
>
> - Do we need "catalina.ext.dirs" at all if we can use only Tomcat's
> classpath dirs? Let's look through them instead of introducing additional
> property.

Good question. Please file a bug in Bugzilla.  You can include a link
to this thread.

Searching the sources for "catalina.ext.dirs" it is mentioned in
ExtensionValidator.java source only. It is never mentioned in User
Guide or Configuration Reference.

It should be added to docs/config/systemprops.html and maybe mentioned
in docs/class-loader-howto.html


Searching just for "ext.dirs" you see one more place,
AntCompiler.java, that uses just "java.ext.dirs" and not catalina one.
So maybe you had to redefine the "java.ext.dirs" property, like
catalina.sh does with "java.endorsed.dirs".


I wonder how did you found this "catalina.ext.dirs" property. From Javadoc?

> - Does this mean that we can use only Tomcat's classpath dirs and we cannot
> specify a custom directory for these extensions?

You can. You can reconfigure classpath in the conf/catalina.properties file.

Best regards,
Konstantin Kolinko

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Dependencies on extensions functionality

Posted by Violeta Georgieva <mi...@gmail.com>.
>Gotcha: so, the validation works properly, but the catalina.ext.dirs
>doesn't actually get added to the classpath. Oops.
that's correct

2012/2/6 Christopher Schultz <ch...@christopherschultz.net>

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Violeta,
>
> On 2/6/12 1:31 PM, Violeta Georgieva wrote:
> > Actually as I wrote in the mail with the scenario:
> >
> > when I do not specify the "catalina.ext.dirs", deployment fails
> >
> >> INFO: Deploying web application archive
> > C:\apache-tomcat-7.0.25\webapps\test-web-app.war
> >> Feb 4, 2012 10:41:44 PM
> >> org.apache.catalina.util.ExtensionValidator
> > validateManifestResources
> >> INFO: ExtensionValidator[/test-web-app][Web Application
> >> Manifest]:
> > Required extension [test-jar] not found.
> >> Feb 4, 2012 10:41:44 PM
> >> org.apache.catalina.util.ExtensionValidator
> > validateManifestResources
> >> INFO: ExtensionValidator[/test-web-app]: Failure to find [1]
> >> required
> > extension(s).
> >> Feb 4, 2012 10:41:44 PM org.apache.catalina.core.StandardContext
> > startInternal
> >
> >> SEVERE: Error getConfigured Feb 4, 2012 10:41:44 PM
> >> org.apache.catalina.core.StandardContext
> > startInternal
> >> SEVERE: Context [/test-web-app] startup failed due to previous
> >> errors
> >
> > then when I specify "catalina.ext.dirs" then it fails with CNFE
>
> Gotcha: so, the validation works properly, but the catalina.ext.dirs
> doesn't actually get added to the classpath. Oops.
>
> - -chris
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
> Comment: GPGTools - http://gpgtools.org
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>
> iEYEARECAAYFAk8wHqkACgkQ9CaO5/Lv0PBXdQCgkvcmuAnGBEmcbrUUtPySGqmS
> dJUAoJ1KGf/flTDzmNd0JigGEO+7muMD
> =dog/
>  -----END PGP SIGNATURE-----
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>

Re: Dependencies on extensions functionality

Posted by Christopher Schultz <ch...@christopherschultz.net>.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Violeta,

On 2/6/12 1:31 PM, Violeta Georgieva wrote:
> Actually as I wrote in the mail with the scenario:
> 
> when I do not specify the "catalina.ext.dirs", deployment fails
> 
>> INFO: Deploying web application archive
> C:\apache-tomcat-7.0.25\webapps\test-web-app.war
>> Feb 4, 2012 10:41:44 PM
>> org.apache.catalina.util.ExtensionValidator
> validateManifestResources
>> INFO: ExtensionValidator[/test-web-app][Web Application
>> Manifest]:
> Required extension [test-jar] not found.
>> Feb 4, 2012 10:41:44 PM
>> org.apache.catalina.util.ExtensionValidator
> validateManifestResources
>> INFO: ExtensionValidator[/test-web-app]: Failure to find [1]
>> required
> extension(s).
>> Feb 4, 2012 10:41:44 PM org.apache.catalina.core.StandardContext
> startInternal
> 
>> SEVERE: Error getConfigured Feb 4, 2012 10:41:44 PM
>> org.apache.catalina.core.StandardContext
> startInternal
>> SEVERE: Context [/test-web-app] startup failed due to previous
>> errors
> 
> then when I specify "catalina.ext.dirs" then it fails with CNFE

Gotcha: so, the validation works properly, but the catalina.ext.dirs
doesn't actually get added to the classpath. Oops.

- -chris
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk8wHqkACgkQ9CaO5/Lv0PBXdQCgkvcmuAnGBEmcbrUUtPySGqmS
dJUAoJ1KGf/flTDzmNd0JigGEO+7muMD
=dog/
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Dependencies on extensions functionality

Posted by Violeta Georgieva <mi...@gmail.com>.
Actually as I wrote in the mail with the scenario:

, when I do not specify the "catalina.ext.dirs", deployment fails

>INFO: Deploying web application archive
C:\apache-tomcat-7.0.25\webapps\test-web-app.war
>Feb 4, 2012 10:41:44 PM org.apache.catalina.util.ExtensionValidator
validateManifestResources
>INFO: ExtensionValidator[/test-web-app][Web Application Manifest]:
Required extension [test-jar] not found.
>Feb 4, 2012 10:41:44 PM org.apache.catalina.util.ExtensionValidator
validateManifestResources
>INFO: ExtensionValidator[/test-web-app]: Failure to find [1] required
extension(s).
>Feb 4, 2012 10:41:44 PM org.apache.catalina.core.StandardContext
startInternal

>SEVERE: Error getConfigured
>Feb 4, 2012 10:41:44 PM org.apache.catalina.core.StandardContext
startInternal
>SEVERE: Context [/test-web-app] startup failed due to previous errors

then when I specify "catalina.ext.dirs" then it fails with CNFE

2012/2/6 Christopher Schultz <ch...@christopherschultz.net>

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Pid,
>
> On 2/6/12 6:48 AM, Pid wrote:
> > On 06/02/2012 11:08, Violeta Georgieva wrote:
> >>> I was going to ask you why you were using it!  So is your
> >>> interest purely academic?
> >> I have existing applications that are moving to Tomcat from
> >> another application server. As "dependencies on extensions" is a
> >> standard mechanism for shared libraries, they use it in order to
> >> be independent from the application servers.
> >
> > I see - in my experience this mechanism is rarely used in web
> > applications.  Interesting.
>
> Yeah, I had never heard of it.
>
> Also, the whole metadata-scanning thing seems totally unnecessary: the
> webapp tries to load a class, and the ClassLoader figures it out. The
> fact that the metadata exists doesn't really help much.
>
> I haven't looked at the validation code, though, so it's possible that
> the container is supposed to refuse to deploy the webapp if an
> appropriate extension isn't available.
>
> That obviously wasn't happening in Violeta's case because the
> deployment succeeded but then she got a CNFE.
>
> - -chris
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
> Comment: GPGTools - http://gpgtools.org
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>
> iEYEARECAAYFAk8wGqYACgkQ9CaO5/Lv0PAxhQCfQ2NBq+vrLxIREvKp8mFROnw5
> mOUAn194PtKwYxvxKv1BJrTAkmnCksfu
> =X6VY
> -----END PGP SIGNATURE-----
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>

Re: Dependencies on extensions functionality

Posted by Christopher Schultz <ch...@christopherschultz.net>.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Pid,

On 2/6/12 6:48 AM, Pid wrote:
> On 06/02/2012 11:08, Violeta Georgieva wrote:
>>> I was going to ask you why you were using it!  So is your
>>> interest purely academic?
>> I have existing applications that are moving to Tomcat from
>> another application server. As "dependencies on extensions" is a
>> standard mechanism for shared libraries, they use it in order to
>> be independent from the application servers.
> 
> I see - in my experience this mechanism is rarely used in web 
> applications.  Interesting.

Yeah, I had never heard of it.

Also, the whole metadata-scanning thing seems totally unnecessary: the
webapp tries to load a class, and the ClassLoader figures it out. The
fact that the metadata exists doesn't really help much.

I haven't looked at the validation code, though, so it's possible that
the container is supposed to refuse to deploy the webapp if an
appropriate extension isn't available.

That obviously wasn't happening in Violeta's case because the
deployment succeeded but then she got a CNFE.

- -chris
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk8wGqYACgkQ9CaO5/Lv0PAxhQCfQ2NBq+vrLxIREvKp8mFROnw5
mOUAn194PtKwYxvxKv1BJrTAkmnCksfu
=X6VY
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Dependencies on extensions functionality

Posted by Pid <pi...@pidster.com>.
On 06/02/2012 11:08, Violeta Georgieva wrote:
>> I was going to ask you why you were using it!  So is your interest
>> purely academic?
> I have existing applications that are moving to Tomcat from another
> application server.
> As "dependencies on extensions" is a standard mechanism for shared
> libraries, they use it in order to be independent from the application
> servers.

I see - in my experience this mechanism is rarely used in web
applications.  Interesting.


p

> 2012/2/6 Pid <pi...@pidster.com>
> 
>> On 05/02/2012 15:03, Violeta Georgieva wrote:
>>> Hi,
>>>
>>> As I wrote I'm placing the extension jar in
>> "C:\apache-tomcat-7.0.25\ext".
>>> I tried the following: I specified "C:\apache-tomcat-7.0.25\lib" as value
>>> for "catalina.ext.dirs" property and now the web application is working.
>>>
>>> But then I have two questions:
>>>
>>> - Do we need "catalina.ext.dirs" at all if we can use only Tomcat's
>>> classpath dirs? Let's look through them instead of introducing additional
>>> property.
>>
>> I was going to ask you why you were using it!  So is your interest
>> purely academic?
>>
>>
>>> - Does this mean that we can use only Tomcat's classpath dirs and we
>> cannot
>>> specify a custom directory for these extensions?
>>
>> It should work.  (As per Konstantin's message)
>>
>>
>> p
>>
>>
>>> Thanks
>>> Violeta
>>>
>>> 2012/2/5 Pid <pi...@pidster.com>
>>>
>>>> On 04/02/2012 21:02, Violeta Georgieva wrote:
>>>>> Hi,
>>>>>
>>>>> Here is how one can reproduce the scenario:
>>>>>
>>>>> 1. Start Tomcat
>>>>> 2. Put attached war in webapps folder
>>>>> 3. In the console the following error message is printed:
>>>>
>>>> In the example above, where have you placed the extension?  Is it in one
>>>> of Tomcat's classpath directories?
>>>>
>>>>
>>>> p
>>>>
>>>>> INFO: Deploying web application archive
>>>>> C:\apache-tomcat-7.0.25\webapps\test-web-app.war
>>>>> Feb 4, 2012 10:41:44 PM org.apache.catalina.util.ExtensionValidator
>>>>> validateManifestResources
>>>>> INFO: ExtensionValidator[/test-web-app][Web Application Manifest]:
>>>>> Required extension [test-jar] not found.
>>>>> Feb 4, 2012 10:41:44 PM org.apache.catalina.util.ExtensionValidator
>>>>> validateManifestResources
>>>>> INFO: ExtensionValidator[/test-web-app]: Failure to find [1] required
>>>>> extension(s).
>>>>> Feb 4, 2012 10:41:44 PM org.apache.catalina.core.StandardContext
>>>>> startInternal
>>>>> SEVERE: Error getConfigured
>>>>> Feb 4, 2012 10:41:44 PM org.apache.catalina.core.StandardContext
>>>>> startInternal
>>>>> SEVERE: Context [/test-web-app] startup failed due to previous errors
>>>>>
>>>>> 4. Stop Tomcat
>>>>> 5. Create folder - C:\apache-tomcat-7.0.25\ext
>>>>> 6. Put the attached jar file in the folder created on step 5
>>>>> 7. Start Tomcat with additional VM argument
>>>>> -Dcatalina.ext.dirs=C:/apache-tomcat-7.0.25/ext
>>>>> 8. This time the application is deployed successfully.
>>>>> 9. Request http://localhost:8080/test-web-app/TestServlet
>>>>> 10. Internal Server Error is returned with the following Exception:
>>>>>
>>>>>
>>>>> java.lang.ClassNotFoundException: test.TestExtension
>>>>>
>>>>
>> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1701)
>>>>>
>>>>
>> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
>>>>>       test.TestServlet.doGet(TestServlet.java:28)
>>>>>       javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
>>>>>       javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
>>>>>
>>>>> I did not change any other Tomcat configuration so it is running with
>>>>> defaults.
>>>>>
>>>>> The scenario is that TestServlet (in war file) instantiates
>>>>> TestExtension (in jar file, placed in the ext directory).
>>>>>
>>>>> Regards
>>>>> Violeta
>>>>> 2012/2/4 Christopher Schultz <chris@christopherschultz.net
>>>>> <ma...@christopherschultz.net>>
>>>>>
>>>>> Violetta,
>>>>>
>>>>> On 2/3/12 8:25 AM, Violeta Georgieva wrote:
>>>>>> I have a web application that specifies in the Manifest that wants
>>>>>> to use an extension.
>>>>>
>>>>>> I specify "catalina.ext.dirs" to point to the directory where I
>>>>>> placed my extensions jar files.
>>>>>
>>>>> What is the value of the catalina.ext.dirs system property? Where did
>>>>> you set it? Can you verify that it is set when the JVM actually starts?
>>>>>
>>>>> What files are in the directory or directories specified by
>>>>> catalina.ext.dir?
>>>>>
>>>>>> Unfortunately when I request my application I'm receiving
>>>>>> "ClassNotFoundException".
>>>>>
>>>>> What class cannot be found? Is it found in any of the JAR files you
>>>>> have in your catalina.ext.dir (which is, of course, the whole point of
>>>>> the feature)?
>>>>>
>>>>>> I verified that
>>>>>
>>>>>> ExtensionValidator.validateApplication() succeeded to find the
>>>>>> extension jar file.
>>>>>
>>>>> How did you verify this? Are there logs that suggest your JAR file is
>>>>> being scanned? Please provide them.
>>>>>
>>>>>> What could be the problem? May be I'm missing some configuration?
>>>>>
>>>>> You might be, but you haven't provided any configuration to us, so we
>>>>> don't know if you're missing something. Clearly, something is
>>>>> misconfigured.
>>>>>
>>>>> -chris
>>>>>
>>>>>
>> ---------------------------------------------------------------------
>>>>>     To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>>>>     <ma...@tomcat.apache.org>
>>>>>     For additional commands, e-mail: users-help@tomcat.apache.org
>>>>>     <ma...@tomcat.apache.org>
>>>>  >
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>>>
>>>> --
>>>>
>>>> [key:62590808]
>>>>
>>>>
>>>
>>
>>
>> --
>>
>> [key:62590808]
>>
>>
> 


-- 

[key:62590808]


Re: Dependencies on extensions functionality

Posted by Violeta Georgieva <mi...@gmail.com>.
>I was going to ask you why you were using it!  So is your interest
>purely academic?
I have existing applications that are moving to Tomcat from another
application server.
As "dependencies on extensions" is a standard mechanism for shared
libraries, they use it in order to be independent from the application
servers.

2012/2/6 Pid <pi...@pidster.com>

> On 05/02/2012 15:03, Violeta Georgieva wrote:
> > Hi,
> >
> > As I wrote I'm placing the extension jar in
> "C:\apache-tomcat-7.0.25\ext".
> > I tried the following: I specified "C:\apache-tomcat-7.0.25\lib" as value
> > for "catalina.ext.dirs" property and now the web application is working.
> >
> > But then I have two questions:
> >
> > - Do we need "catalina.ext.dirs" at all if we can use only Tomcat's
> > classpath dirs? Let's look through them instead of introducing additional
> > property.
>
> I was going to ask you why you were using it!  So is your interest
> purely academic?
>
>
> > - Does this mean that we can use only Tomcat's classpath dirs and we
> cannot
> > specify a custom directory for these extensions?
>
> It should work.  (As per Konstantin's message)
>
>
> p
>
>
> > Thanks
> > Violeta
> >
> > 2012/2/5 Pid <pi...@pidster.com>
> >
> >> On 04/02/2012 21:02, Violeta Georgieva wrote:
> >>> Hi,
> >>>
> >>> Here is how one can reproduce the scenario:
> >>>
> >>> 1. Start Tomcat
> >>> 2. Put attached war in webapps folder
> >>> 3. In the console the following error message is printed:
> >>
> >> In the example above, where have you placed the extension?  Is it in one
> >> of Tomcat's classpath directories?
> >>
> >>
> >> p
> >>
> >>> INFO: Deploying web application archive
> >>> C:\apache-tomcat-7.0.25\webapps\test-web-app.war
> >>> Feb 4, 2012 10:41:44 PM org.apache.catalina.util.ExtensionValidator
> >>> validateManifestResources
> >>> INFO: ExtensionValidator[/test-web-app][Web Application Manifest]:
> >>> Required extension [test-jar] not found.
> >>> Feb 4, 2012 10:41:44 PM org.apache.catalina.util.ExtensionValidator
> >>> validateManifestResources
> >>> INFO: ExtensionValidator[/test-web-app]: Failure to find [1] required
> >>> extension(s).
> >>> Feb 4, 2012 10:41:44 PM org.apache.catalina.core.StandardContext
> >>> startInternal
> >>> SEVERE: Error getConfigured
> >>> Feb 4, 2012 10:41:44 PM org.apache.catalina.core.StandardContext
> >>> startInternal
> >>> SEVERE: Context [/test-web-app] startup failed due to previous errors
> >>>
> >>> 4. Stop Tomcat
> >>> 5. Create folder - C:\apache-tomcat-7.0.25\ext
> >>> 6. Put the attached jar file in the folder created on step 5
> >>> 7. Start Tomcat with additional VM argument
> >>> -Dcatalina.ext.dirs=C:/apache-tomcat-7.0.25/ext
> >>> 8. This time the application is deployed successfully.
> >>> 9. Request http://localhost:8080/test-web-app/TestServlet
> >>> 10. Internal Server Error is returned with the following Exception:
> >>>
> >>>
> >>> java.lang.ClassNotFoundException: test.TestExtension
> >>>
> >>
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1701)
> >>>
> >>
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
> >>>       test.TestServlet.doGet(TestServlet.java:28)
> >>>       javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
> >>>       javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
> >>>
> >>> I did not change any other Tomcat configuration so it is running with
> >>> defaults.
> >>>
> >>> The scenario is that TestServlet (in war file) instantiates
> >>> TestExtension (in jar file, placed in the ext directory).
> >>>
> >>> Regards
> >>> Violeta
> >>> 2012/2/4 Christopher Schultz <chris@christopherschultz.net
> >>> <ma...@christopherschultz.net>>
> >>>
> >>> Violetta,
> >>>
> >>> On 2/3/12 8:25 AM, Violeta Georgieva wrote:
> >>>> I have a web application that specifies in the Manifest that wants
> >>>> to use an extension.
> >>>
> >>>> I specify "catalina.ext.dirs" to point to the directory where I
> >>>> placed my extensions jar files.
> >>>
> >>> What is the value of the catalina.ext.dirs system property? Where did
> >>> you set it? Can you verify that it is set when the JVM actually starts?
> >>>
> >>> What files are in the directory or directories specified by
> >>> catalina.ext.dir?
> >>>
> >>>> Unfortunately when I request my application I'm receiving
> >>>> "ClassNotFoundException".
> >>>
> >>> What class cannot be found? Is it found in any of the JAR files you
> >>> have in your catalina.ext.dir (which is, of course, the whole point of
> >>> the feature)?
> >>>
> >>>> I verified that
> >>>
> >>>> ExtensionValidator.validateApplication() succeeded to find the
> >>>> extension jar file.
> >>>
> >>> How did you verify this? Are there logs that suggest your JAR file is
> >>> being scanned? Please provide them.
> >>>
> >>>> What could be the problem? May be I'm missing some configuration?
> >>>
> >>> You might be, but you haven't provided any configuration to us, so we
> >>> don't know if you're missing something. Clearly, something is
> >>> misconfigured.
> >>>
> >>> -chris
> >>>
> >>>
> ---------------------------------------------------------------------
> >>>     To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> >>>     <ma...@tomcat.apache.org>
> >>>     For additional commands, e-mail: users-help@tomcat.apache.org
> >>>     <ma...@tomcat.apache.org>
> >>  >
> >>>
> >>>
> >>>
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> >>> For additional commands, e-mail: users-help@tomcat.apache.org
> >>
> >> --
> >>
> >> [key:62590808]
> >>
> >>
> >
>
>
> --
>
> [key:62590808]
>
>

Re: Dependencies on extensions functionality

Posted by Pid <pi...@pidster.com>.
On 05/02/2012 15:03, Violeta Georgieva wrote:
> Hi,
> 
> As I wrote I'm placing the extension jar in "C:\apache-tomcat-7.0.25\ext".
> I tried the following: I specified "C:\apache-tomcat-7.0.25\lib" as value
> for "catalina.ext.dirs" property and now the web application is working.
> 
> But then I have two questions:
> 
> - Do we need "catalina.ext.dirs" at all if we can use only Tomcat's
> classpath dirs? Let's look through them instead of introducing additional
> property.

I was going to ask you why you were using it!  So is your interest
purely academic?


> - Does this mean that we can use only Tomcat's classpath dirs and we cannot
> specify a custom directory for these extensions?

It should work.  (As per Konstantin's message)


p


> Thanks
> Violeta
> 
> 2012/2/5 Pid <pi...@pidster.com>
> 
>> On 04/02/2012 21:02, Violeta Georgieva wrote:
>>> Hi,
>>>
>>> Here is how one can reproduce the scenario:
>>>
>>> 1. Start Tomcat
>>> 2. Put attached war in webapps folder
>>> 3. In the console the following error message is printed:
>>
>> In the example above, where have you placed the extension?  Is it in one
>> of Tomcat's classpath directories?
>>
>>
>> p
>>
>>> INFO: Deploying web application archive
>>> C:\apache-tomcat-7.0.25\webapps\test-web-app.war
>>> Feb 4, 2012 10:41:44 PM org.apache.catalina.util.ExtensionValidator
>>> validateManifestResources
>>> INFO: ExtensionValidator[/test-web-app][Web Application Manifest]:
>>> Required extension [test-jar] not found.
>>> Feb 4, 2012 10:41:44 PM org.apache.catalina.util.ExtensionValidator
>>> validateManifestResources
>>> INFO: ExtensionValidator[/test-web-app]: Failure to find [1] required
>>> extension(s).
>>> Feb 4, 2012 10:41:44 PM org.apache.catalina.core.StandardContext
>>> startInternal
>>> SEVERE: Error getConfigured
>>> Feb 4, 2012 10:41:44 PM org.apache.catalina.core.StandardContext
>>> startInternal
>>> SEVERE: Context [/test-web-app] startup failed due to previous errors
>>>
>>> 4. Stop Tomcat
>>> 5. Create folder - C:\apache-tomcat-7.0.25\ext
>>> 6. Put the attached jar file in the folder created on step 5
>>> 7. Start Tomcat with additional VM argument
>>> -Dcatalina.ext.dirs=C:/apache-tomcat-7.0.25/ext
>>> 8. This time the application is deployed successfully.
>>> 9. Request http://localhost:8080/test-web-app/TestServlet
>>> 10. Internal Server Error is returned with the following Exception:
>>>
>>>
>>> java.lang.ClassNotFoundException: test.TestExtension
>>>
>> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1701)
>>>
>> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
>>>       test.TestServlet.doGet(TestServlet.java:28)
>>>       javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
>>>       javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
>>>
>>> I did not change any other Tomcat configuration so it is running with
>>> defaults.
>>>
>>> The scenario is that TestServlet (in war file) instantiates
>>> TestExtension (in jar file, placed in the ext directory).
>>>
>>> Regards
>>> Violeta
>>> 2012/2/4 Christopher Schultz <chris@christopherschultz.net
>>> <ma...@christopherschultz.net>>
>>>
>>> Violetta,
>>>
>>> On 2/3/12 8:25 AM, Violeta Georgieva wrote:
>>>> I have a web application that specifies in the Manifest that wants
>>>> to use an extension.
>>>
>>>> I specify "catalina.ext.dirs" to point to the directory where I
>>>> placed my extensions jar files.
>>>
>>> What is the value of the catalina.ext.dirs system property? Where did
>>> you set it? Can you verify that it is set when the JVM actually starts?
>>>
>>> What files are in the directory or directories specified by
>>> catalina.ext.dir?
>>>
>>>> Unfortunately when I request my application I'm receiving
>>>> "ClassNotFoundException".
>>>
>>> What class cannot be found? Is it found in any of the JAR files you
>>> have in your catalina.ext.dir (which is, of course, the whole point of
>>> the feature)?
>>>
>>>> I verified that
>>>
>>>> ExtensionValidator.validateApplication() succeeded to find the
>>>> extension jar file.
>>>
>>> How did you verify this? Are there logs that suggest your JAR file is
>>> being scanned? Please provide them.
>>>
>>>> What could be the problem? May be I'm missing some configuration?
>>>
>>> You might be, but you haven't provided any configuration to us, so we
>>> don't know if you're missing something. Clearly, something is
>>> misconfigured.
>>>
>>> -chris
>>>
>>>     ---------------------------------------------------------------------
>>>     To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>>     <ma...@tomcat.apache.org>
>>>     For additional commands, e-mail: users-help@tomcat.apache.org
>>>     <ma...@tomcat.apache.org>
>>  >
>>>
>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>
>> --
>>
>> [key:62590808]
>>
>>
> 


-- 

[key:62590808]


Re: Dependencies on extensions functionality

Posted by Violeta Georgieva <mi...@gmail.com>.
Hi,

As I wrote I'm placing the extension jar in "C:\apache-tomcat-7.0.25\ext".
I tried the following: I specified "C:\apache-tomcat-7.0.25\lib" as value
for "catalina.ext.dirs" property and now the web application is working.

But then I have two questions:

- Do we need "catalina.ext.dirs" at all if we can use only Tomcat's
classpath dirs? Let's look through them instead of introducing additional
property.
- Does this mean that we can use only Tomcat's classpath dirs and we cannot
specify a custom directory for these extensions?

Thanks
Violeta

2012/2/5 Pid <pi...@pidster.com>

> On 04/02/2012 21:02, Violeta Georgieva wrote:
> > Hi,
> >
> > Here is how one can reproduce the scenario:
> >
> > 1. Start Tomcat
> > 2. Put attached war in webapps folder
> > 3. In the console the following error message is printed:
>
> In the example above, where have you placed the extension?  Is it in one
> of Tomcat's classpath directories?
>
>
> p
>
> > INFO: Deploying web application archive
> > C:\apache-tomcat-7.0.25\webapps\test-web-app.war
> > Feb 4, 2012 10:41:44 PM org.apache.catalina.util.ExtensionValidator
> > validateManifestResources
> > INFO: ExtensionValidator[/test-web-app][Web Application Manifest]:
> > Required extension [test-jar] not found.
> > Feb 4, 2012 10:41:44 PM org.apache.catalina.util.ExtensionValidator
> > validateManifestResources
> > INFO: ExtensionValidator[/test-web-app]: Failure to find [1] required
> > extension(s).
> > Feb 4, 2012 10:41:44 PM org.apache.catalina.core.StandardContext
> > startInternal
> > SEVERE: Error getConfigured
> > Feb 4, 2012 10:41:44 PM org.apache.catalina.core.StandardContext
> > startInternal
> > SEVERE: Context [/test-web-app] startup failed due to previous errors
> >
> > 4. Stop Tomcat
> > 5. Create folder - C:\apache-tomcat-7.0.25\ext
> > 6. Put the attached jar file in the folder created on step 5
> > 7. Start Tomcat with additional VM argument
> > -Dcatalina.ext.dirs=C:/apache-tomcat-7.0.25/ext
> > 8. This time the application is deployed successfully.
> > 9. Request http://localhost:8080/test-web-app/TestServlet
> > 10. Internal Server Error is returned with the following Exception:
> >
> >
> > java.lang.ClassNotFoundException: test.TestExtension
> >
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1701)
> >
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
> >       test.TestServlet.doGet(TestServlet.java:28)
> >       javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
> >       javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
> >
> > I did not change any other Tomcat configuration so it is running with
> > defaults.
> >
> > The scenario is that TestServlet (in war file) instantiates
> > TestExtension (in jar file, placed in the ext directory).
> >
> > Regards
> > Violeta
> > 2012/2/4 Christopher Schultz <chris@christopherschultz.net
> > <ma...@christopherschultz.net>>
> >
> > Violetta,
> >
> > On 2/3/12 8:25 AM, Violeta Georgieva wrote:
> >> I have a web application that specifies in the Manifest that wants
> >> to use an extension.
> >
> >> I specify "catalina.ext.dirs" to point to the directory where I
> >> placed my extensions jar files.
> >
> > What is the value of the catalina.ext.dirs system property? Where did
> > you set it? Can you verify that it is set when the JVM actually starts?
> >
> > What files are in the directory or directories specified by
> > catalina.ext.dir?
> >
> >> Unfortunately when I request my application I'm receiving
> >> "ClassNotFoundException".
> >
> > What class cannot be found? Is it found in any of the JAR files you
> > have in your catalina.ext.dir (which is, of course, the whole point of
> > the feature)?
> >
> >> I verified that
> >
> >> ExtensionValidator.validateApplication() succeeded to find the
> >> extension jar file.
> >
> > How did you verify this? Are there logs that suggest your JAR file is
> > being scanned? Please provide them.
> >
> >> What could be the problem? May be I'm missing some configuration?
> >
> > You might be, but you haven't provided any configuration to us, so we
> > don't know if you're missing something. Clearly, something is
> > misconfigured.
> >
> > -chris
> >
> >     ---------------------------------------------------------------------
> >     To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> >     <ma...@tomcat.apache.org>
> >     For additional commands, e-mail: users-help@tomcat.apache.org
> >     <ma...@tomcat.apache.org>
>  >
> >
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> > For additional commands, e-mail: users-help@tomcat.apache.org
>
> --
>
> [key:62590808]
>
>

Re: Dependencies on extensions functionality

Posted by Pid <pi...@pidster.com>.
On 04/02/2012 21:02, Violeta Georgieva wrote:
> Hi,
>  
> Here is how one can reproduce the scenario:
>  
> 1. Start Tomcat
> 2. Put attached war in webapps folder
> 3. In the console the following error message is printed:

In the example above, where have you placed the extension?  Is it in one
of Tomcat's classpath directories?


p

> INFO: Deploying web application archive
> C:\apache-tomcat-7.0.25\webapps\test-web-app.war
> Feb 4, 2012 10:41:44 PM org.apache.catalina.util.ExtensionValidator
> validateManifestResources
> INFO: ExtensionValidator[/test-web-app][Web Application Manifest]:
> Required extension [test-jar] not found.
> Feb 4, 2012 10:41:44 PM org.apache.catalina.util.ExtensionValidator
> validateManifestResources
> INFO: ExtensionValidator[/test-web-app]: Failure to find [1] required
> extension(s).
> Feb 4, 2012 10:41:44 PM org.apache.catalina.core.StandardContext
> startInternal
> SEVERE: Error getConfigured
> Feb 4, 2012 10:41:44 PM org.apache.catalina.core.StandardContext
> startInternal
> SEVERE: Context [/test-web-app] startup failed due to previous errors
>  
> 4. Stop Tomcat
> 5. Create folder - C:\apache-tomcat-7.0.25\ext
> 6. Put the attached jar file in the folder created on step 5
> 7. Start Tomcat with additional VM argument
> -Dcatalina.ext.dirs=C:/apache-tomcat-7.0.25/ext
> 8. This time the application is deployed successfully.
> 9. Request http://localhost:8080/test-web-app/TestServlet
> 10. Internal Server Error is returned with the following Exception:
>  
> 
> java.lang.ClassNotFoundException: test.TestExtension
> 	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1701)
> 	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
> 	test.TestServlet.doGet(TestServlet.java:28)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
> 
> I did not change any other Tomcat configuration so it is running with
> defaults.
>  
> The scenario is that TestServlet (in war file) instantiates
> TestExtension (in jar file, placed in the ext directory).
>  
> Regards
> Violeta
> 2012/2/4 Christopher Schultz <chris@christopherschultz.net
> <ma...@christopherschultz.net>>
> 
> Violetta,
> 
> On 2/3/12 8:25 AM, Violeta Georgieva wrote:
>> I have a web application that specifies in the Manifest that wants
>> to use an extension.
> 
>> I specify "catalina.ext.dirs" to point to the directory where I
>> placed my extensions jar files.
> 
> What is the value of the catalina.ext.dirs system property? Where did
> you set it? Can you verify that it is set when the JVM actually starts?
> 
> What files are in the directory or directories specified by
> catalina.ext.dir?
> 
>> Unfortunately when I request my application I'm receiving
>> "ClassNotFoundException".
> 
> What class cannot be found? Is it found in any of the JAR files you
> have in your catalina.ext.dir (which is, of course, the whole point of
> the feature)?
> 
>> I verified that
> 
>> ExtensionValidator.validateApplication() succeeded to find the
>> extension jar file.
> 
> How did you verify this? Are there logs that suggest your JAR file is
> being scanned? Please provide them.
> 
>> What could be the problem? May be I'm missing some configuration?
> 
> You might be, but you haven't provided any configuration to us, so we
> don't know if you're missing something. Clearly, something is
> misconfigured.
> 
> -chris
> 
>     ---------------------------------------------------------------------
>     To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>     <ma...@tomcat.apache.org>
>     For additional commands, e-mail: users-help@tomcat.apache.org
>     <ma...@tomcat.apache.org>
> 
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org

-- 

[key:62590808]


Re: Dependencies on extensions functionality

Posted by Violeta Georgieva <mi...@gmail.com>.
Hi,

Here is how one can reproduce the scenario:

1. Start Tomcat
2. Put attached war in webapps folder
3. In the console the following error message is printed:

INFO: Deploying web application archive
C:\apache-tomcat-7.0.25\webapps\test-web-app.war
Feb 4, 2012 10:41:44 PM org.apache.catalina.util.ExtensionValidator
validateManifestResources
INFO: ExtensionValidator[/test-web-app][Web Application Manifest]: Required
extension [test-jar] not found.
Feb 4, 2012 10:41:44 PM org.apache.catalina.util.ExtensionValidator
validateManifestResources
INFO: ExtensionValidator[/test-web-app]: Failure to find [1] required
extension(s).
Feb 4, 2012 10:41:44 PM org.apache.catalina.core.StandardContext
startInternal
SEVERE: Error getConfigured
Feb 4, 2012 10:41:44 PM org.apache.catalina.core.StandardContext
startInternal
SEVERE: Context [/test-web-app] startup failed due to previous errors

4. Stop Tomcat
5. Create folder - C:\apache-tomcat-7.0.25\ext
6. Put the attached jar file in the folder created on step 5
7. Start Tomcat with additional VM argument
-Dcatalina.ext.dirs=C:/apache-tomcat-7.0.25/ext
8. This time the application is deployed successfully.
9. Request http://localhost:8080/test-web-app/TestServlet
10. Internal Server Error is returned with the following Exception:


java.lang.ClassNotFoundException: test.TestExtension
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1701)
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
	test.TestServlet.doGet(TestServlet.java:28)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

I did not change any other Tomcat configuration so it is running with
defaults.

The scenario is that TestServlet (in war file) instantiates TestExtension
(in jar file, placed in the ext directory).

Regards
Violeta
2012/2/4 Christopher Schultz <ch...@christopherschultz.net>

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Violetta,
>
> On 2/3/12 8:25 AM, Violeta Georgieva wrote:
> > I have a web application that specifies in the Manifest that wants
> > to use an extension.
> >
> > I specify "catalina.ext.dirs" to point to the directory where I
> > placed my extensions jar files.
>
> What is the value of the catalina.ext.dirs system property? Where did
> you set it? Can you verify that it is set when the JVM actually starts?
>
> What files are in the directory or directories specified by
> catalina.ext.dir?
>
> > Unfortunately when I request my application I'm receiving
> > "ClassNotFoundException".
>
> What class cannot be found? Is it found in any of the JAR files you
> have in your catalina.ext.dir (which is, of course, the whole point of
> the feature)?
>
> > I verified that
> >
> > ExtensionValidator.validateApplication() succeeded to find the
> > extension jar file.
>
> How did you verify this? Are there logs that suggest your JAR file is
> being scanned? Please provide them.
>
> > What could be the problem? May be I'm missing some configuration?
>
> You might be, but you haven't provided any configuration to us, so we
> don't know if you're missing something. Clearly, something is
> misconfigured.
>
> - -chris
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
> Comment: GPGTools - http://gpgtools.org
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>
> iEYEARECAAYFAk8tdnIACgkQ9CaO5/Lv0PCjtQCgkh8h231IQe4SZjkz2J0VzQh1
> r3IAnidzPXJfRdV1TEu3b+qf0jiplsfA
> =Lv/W
> -----END PGP SIGNATURE-----
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>

Re: Dependencies on extensions functionality

Posted by Christopher Schultz <ch...@christopherschultz.net>.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Violetta,

On 2/3/12 8:25 AM, Violeta Georgieva wrote:
> I have a web application that specifies in the Manifest that wants
> to use an extension.
> 
> I specify "catalina.ext.dirs" to point to the directory where I
> placed my extensions jar files.

What is the value of the catalina.ext.dirs system property? Where did
you set it? Can you verify that it is set when the JVM actually starts?

What files are in the directory or directories specified by
catalina.ext.dir?

> Unfortunately when I request my application I'm receiving 
> "ClassNotFoundException".

What class cannot be found? Is it found in any of the JAR files you
have in your catalina.ext.dir (which is, of course, the whole point of
the feature)?

> I verified that
> 
> ExtensionValidator.validateApplication() succeeded to find the
> extension jar file.

How did you verify this? Are there logs that suggest your JAR file is
being scanned? Please provide them.

> What could be the problem? May be I'm missing some configuration?

You might be, but you haven't provided any configuration to us, so we
don't know if you're missing something. Clearly, something is
misconfigured.

- -chris
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk8tdnIACgkQ9CaO5/Lv0PCjtQCgkh8h231IQe4SZjkz2J0VzQh1
r3IAnidzPXJfRdV1TEu3b+qf0jiplsfA
=Lv/W
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org