Hello Akram,

If you can not put the jars inside each webapp perhaps you could define a
shared.loader in your catalina.properties [1]. It works for us.

Hope it helps,

Luis

[1]
https://tomcat.apache.org/tomcat-9.0-doc/class-loader-howto.html#Advanced_configuration







El mar., 16 abr. 2019 a las 23:21, Christopher Schultz (<
ch...@christopherschultz.net>) escribió:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
>
> Akram,
>
> On 4/16/19 16:21, Akram Hussain wrote:
> > Hi Christopher,
> >
> > I have almost 27-30 apps in my tomcat.
> >
> > Do I need to declare in every applications's META-INF\context.xml.
>
> Yes. If every application needs those libraries, then you'll need to
> configure them. Just like you had to configure your custom class
> loader for each application in the past.
>
> Why not simply put the JAR files into the applications as usual? Then
> each web application is self-contained and you don't have to go
> through all these back-flips.
>
> > And also I have a listener class which is in tomcat\lib folder,
> > which also access these shared classes using CustomSharedLibrary.
>
> Then you can put all the libraries into Tomcat's lib/ directory and
> you don't have to do any of this.
>
> > How can I access those shared libraries in listener which is in
> > tomcat\lib folder?
>
> What does your Listener do? You might not even need it...
>
> - -chris
>
> > On Wed, Apr 17, 2019 at 1:02 AM Christopher Schultz <
> > ch...@christopherschultz.net> wrote:
> >
> > Akram,
> >
> > On 4/16/19 12:41, Akram Hussain wrote:
> >>>> I have gone through it, But it was not clear to me.
> >>>>
> >>>> If an example is provided, how to pass resources to
> >>>> SharedClassLoader, it could be helpful.
> >
> > If you configure something like this in your META-INF/context.xml:
> >
> > <Resources> <PostResources webAppMount="/WEB-INF/classes"
> > base="/path/to/your/shared/libraries"
> > className="org.apache.catalina.webresources.DirResourceSet" />
> > </Resources>
> >
> > That should allow your application to load JAR files from your
> > /path/to/your/shared/libraries directory.
> >
> > You should completely remove your custom class loader. Completely.
> >
> > -chris
> >
> >>>> On Tue, Apr 16, 2019 at 7:57 PM Christopher Schultz <
> >>>> ch...@christopherschultz.net> wrote:
> >>>>
> >>>> Akram,
> >>>>
> >>>> On 4/16/19 06:29, Akram Hussain wrote:
> >>>>>>> I have Custom SharedClassLoader in Tomcat 7 to load
> >>>>>>> shared library jars, which is used by different
> >>>>>>> applications in that tomcat. We migrated to Tomcat 9,
> >>>>>>> now it is not working. How to achieve the same
> >>>>>>> functionality in tomcat 9.
> >>>>
> >>>> Have a look at the <Resources> which should be able to do
> >>>> what you need without any custom code:
> >>>>
> >>>> http://tomcat.apache.org/tomcat-9.0-doc/config/resources.html
> >>>>
> >>>>>>>
> >>>>
> In Tomcat 9 it expects resources to be passed. I don't find
> >>>>>>> any sample Code on how to populate resources.
> >>>>>>>
> >>>>>>> I tried like below
> >>>>>>>
> >>>>>>> public CustomSharedClassLoader(ClassLoader parent)
> >>>>>>> throws Exception { super(parent); //The below three
> >>>>>>> lines are added by me to work for Tomcat 9.
> >>>>>>> StandardRoot standardRoot = new StandardRoot();
> >>>>>>> standardRoot.addPreResources(new DirResourceSet());
> >>>>>>> setResources(standardRoot);// End for tomcat 9
> >>>>>>> changes.
> >>>>>>>
> >>>>>>> for (URL urlForJars : getClassPath(SHARED_LIB)) {
> >>>>>>> addURL(urlForJars); } start(); }
> >>>>>>>
> >>>>>>> It didn't work.
> >>>>>>>
> >>>>>>> public class CustomSharedClassLoader extends
> >>>>>>> WebappClassLoader{//Which takes shared folder libarary,
> >>>>>>> it returns those classes.}
> >>>>
> >>>> You should be able to ditch your custom ClassLoader
> >>>> entirely.
> >>>>
> >>>> -chris
> >>>>>
> >>>>> ------------------------------------------------------------------
> - ---
> >>>>>
> >>>>>
> >
> >>>>>
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> >>>>> For additional commands, e-mail:
> >>>>> users-h...@tomcat.apache.org
> >>>>>
> >>>>>
> >>>>
> >>
> >> ---------------------------------------------------------------------
> >>
> >>
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> >> For additional commands, e-mail: users-h...@tomcat.apache.org
> >>
> >>
> >
> -----BEGIN PGP SIGNATURE-----
> Comment: Using GnuPG with Thunderbird - https://www.enigmail.net/
>
> iQIzBAEBCAAdFiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAly2RzgACgkQHPApP6U8
> pFilIA/+NvG9+sG1tPbWyAXvy9bwGnRATgTZqxGGWvGZ2XL2Knkt+lPaoh7Vtum9
> jYm4ZUIWNrkg4APxCwHXnfNlkLEF36igANlytDlBBUoVKBqEgngWUqR2w19yeRma
> 8GS7YbDS6bUJ/KQTBEkeTeyf7EdLHVfJwrnKZ6qxV2QmC+IBwCr7I2vlWwx59qac
> CqCL97FzRjtwDa6sHsC5PYsdu0fy8z4NzI4Ro4bcKNjDnvsQ0LSaKR0WM6OlaHAW
> wFayoV/oUK8uRbDrS3q4pOtAnLxwF+CVrk0x7clpyPnqlSO0TIebZ+ejOEe4lsHK
> gC33pK+vpKtl3d68WNf4aZfjXdrqsnF0IvnPPayAThVysHHOfJqGyYL2wdtmFru9
> vOKKIPqM4TT6V0BWZiX4lrE/kbF8c4KhpdtdIkFyf8KqWtezYBZIjIlEEaoiqlSO
> KWdnrxRQ3Y2gJMUBAUDK0CiEl8Rw/L030CUmeLabNvN8MORpva2GOIGUk2wUVRwB
> gSWShGDgaUC1KsdEPNf8Sawb9J1yVOAxdQH2U05Z0cf2gMcmHVgrJQ0+mSZMvvhJ
> CiEumW37P4Z0jkcKyeISrE0T7p90rvaXQLrwSNIqTuzDKQXhmUXWUofktdH51541
> WQvgsg15JV3OH13xtjftrQDLZwZ8HYrn47kpTlOXrpfM0ITzvuM=
> =N2Dl
> -----END PGP SIGNATURE-----
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
>
>

-- 

"Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better."

- Samuel Beckett

Reply via email to