Looks like I have no options as I have already tried with 
(catalina.properties), by setting the classpath variable in (setclasspath.bat). 
I am really wonder why default libraries(catalina_home\lib) also not loading 
when I change the protocol=com.poc.PocHttp11Protocol in server.xml.

Is there anyway I can force tomcat bootstrap class loader to load external 
libraries?
Can you please suggest me how to override bootstrap class loader to load 
external libraries?

Many thanks in advance.

-----Original Message-----
From: Christopher Schultz [mailto:ch...@christopherschultz.net] 
Sent: Friday, May 27, 2016 11:14 PM
To: Tomcat Users List
Subject: Re: tomcat8.0.33 classpath/classloader issues

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Sanka,

On 5/27/16 1:07 PM, Sanka, Ambica wrote:
> Do you need to add <Loader delegate="true"/> for your case? Please 
> check http://tomcat.apache.org/tomcat-8.0-doc/class-loader-howto.html

This is almost never the right solution to a problem.

- -chris

> -----Original Message----- From: Venkata Reddy P 
> [mailto:venkata.re...@trianz.com] Sent: Friday, May 27, 2016 1:02 PM 
> To: Tomcat Users List <users@tomcat.apache.org> Subject: RE:
> tomcat8.0.33 classpath/classloader issues
> 
> Many thanks Ambica for the detailed information.  Its not working some 
> reason for me, when I was debugging the Bootstrap.java class I could 
> clearly see that  creating common, shared,and catlina loaders as I 
> expected.
> 
> While loading the server.xml protocol classes are trying to load then 
> it gets failed.I have customized by extending the Http11Protocol but 
> unfortunately unable to load the tomcat/lib class(Http11Protocol).
> 
> 
> -----Original Message----- From: Sanka, Ambica 
> [mailto:asa...@atpco.net] Sent: 27 May 2016 21:04 To: Tomcat Users 
> List Subject: RE: tomcat8.0.33 classpath/classloader issues
> 
> We use Tomcat 8.0.9 for our applications. Tomcat server package, we 
> created required directories at the same level as conf. We create
> db2 folder and put db2 client jars. Created mq folder and put mq 
> client jars.  We also use some property files(name-value pair) and 
> place those files under properties folder. Refer that in 
> catalina.properties as below
> 
> Then updated catalina.properties as below 
> common.loader="${catalina.base}/lib","${catalina.base}/lib/*.jar","${c
atalina.home}/lib","${catalina.home}/lib/*.jar","${catalina.home}/db2/*.
jar","${catalina.home}/mq/*.jar","${catalina.home}/wasejb/*.jar","${cata
lina.home}/conf","${catalina.home}/properties"
>
>  Our applications work fine. Not sure if this got changed in next 
> versions.
> 
> Ambica.
> 
> -----Original Message----- From: Venkata Reddy P 
> [mailto:venkata.re...@trianz.com] Sent: Friday, May 27, 2016 8:06 AM 
> To: Tomcat Users List <users@tomcat.apache.org> Subject: RE:
> tomcat8.0.33 classpath/classloader issues
> 
> Hi,
> 
> 
> 
> As Ambica suggested, I have tried by setting different properties 
> "common.loader, shared.loader, server.loader"  in catalina.properties 
> but no luck. I have tried generating the logs using 
> -Djava.security.debug=all.
> 
> Will this security (scl:  getPermissions ProtectionDomain 
> (file:/C:/tomcat8.0.33/lib/tomcat-coyote.jar <no signer
> certificates>)  cause any problem for class loading while loading
> the jars?
> 
> 
> 
> log4j:WARN No appenders could be found for logger 
> (org.apache.tomcat.util.digester.Digester).
> 
> log4j:WARN Please initialize the log4j system properly.
> 
> log4j:WARN See
> http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
> 
> java.lang.NoClassDefFoundError:
> org/apache/coyote/http11/AbstractHttp11JsseProtocol
> 
> at java.lang.ClassLoader.defineClass1(Native Method)
> 
> at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
> 
> at
> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142
)
>
>  at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
> 
> at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
> 
> at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
> 
> at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
> 
> at java.security.AccessController.doPrivileged(Native Method)
> 
> at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
> 
> at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
> 
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
> 
> at java.lang.ClassLoader.loadClass(ClassLoader.java:411)
> 
> at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> 
> at java.lang.Class.forName0(Native Method)
> 
> at java.lang.Class.forName(Class.java:264)
> 
> at
> org.apache.catalina.connector.Connector.<init>(Connector.java:70)
> 
> at
> org.apache.catalina.startup.ConnectorCreateRule.begin(ConnectorCreateR
ule.java:62)
>
>  at
> org.apache.tomcat.util.digester.Digester.startElement(Digester.java:11
78)
>
>  at
> org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown
> Source)
> 
> at
> org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unkno
wn
> Source)
> 
> at
> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement
(Unknown
> Source)
> 
> at
> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentD
ispatcher.dispatch(Unknown
> Source)
> 
> at
> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unk
nown
> Source)
> 
> at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
> Source)
> 
> at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
> Source)
> 
> at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
> 
> at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown
> Source)
> 
> at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown
> Source)
> 
> at
> org.apache.tomcat.util.digester.Digester.parse(Digester.java:1451)
> 
> at org.apache.catalina.startup.Catalina.load(Catalina.java:552)
> 
> at org.apache.catalina.startup.Catalina.load(Catalina.java:603)
> 
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j
ava:62)
>
>  at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
orImpl.java:43)
>
>  at java.lang.reflect.Method.invoke(Method.java:498)
> 
> at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:310)
> 
> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:484)
> 
> Caused by: java.lang.ClassNotFoundException:
> org.apache.coyote.http11.AbstractHttp11JsseProtocol
> 
> at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
> 
> at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
> 
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
> 
> at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> 
> ... 37 more
> 
> 
> 
> 
> 
> jar: beginEntry META-INF/MANIFEST.MF
> 
> jar: done with meta!
> 
> jar: nothing to verify!
> 
> scl:  getPermissions ProtectionDomain
> (file:/C:/tomcat8.0.33/bin/bootstrap.jar <no signer certificates>)
> 
> sun.misc.Launcher$AppClassLoader@18b4aac2
> 
> <no principals>
> 
> java.security.Permissions@387c703b (
> 
> ("java.lang.RuntimePermission" "exitVM")
> 
> ("java.io.FilePermission" "\C:\tomcat8.0.33\bin\bootstrap.jar"
> "read")
> 
> )
> 
> 
> 
> scl:
> 
> jar: beginEntry META-INF/MANIFEST.MF
> 
> jar: done with meta!
> 
> jar: nothing to verify!
> 
> scl:  getPermissions ProtectionDomain
> (file:/jre8/lib/ext/tomcat-juli.jar <no signer certificates>)
> 
> sun.misc.Launcher$ExtClassLoader@3ecf72fd
> 
> <no principals>
> 
> java.security.Permissions@483bf400 (
> 
> ("java.io.FilePermission" "\C:\jre8\lib\ext\tomcat-juli.jar"
> "read")
> 
> )
> 
> scl:
> 
> jar: beginEntry META-INF/MANIFEST.MF
> 
> jar: done with meta!
> 
> jar: nothing to verify!
> 
> scl:  getPermissions ProtectionDomain
> (file:/C:/jre8/lib/ext/tomcat-juli-adapters.jar <no signer
> certificates>)
> 
> sun.misc.Launcher$ExtClassLoader@3ecf72fd
> 
> <no principals>
> 
> java.security.Permissions@1fbc7afb (
> 
> ("java.io.FilePermission"
> "\C:\jre8\lib\ext\tomcat-juli-adapters.jar" "read")
> 
> )
> 
> scl:
> 
> jar: beginEntry META-INF/MANIFEST.MF
> 
> jar: done with meta!
> 
> jar: nothing to verify!
> 
> scl:  getPermissions ProtectionDomain
> (file:/C:/jre8/lib/ext/log4j-1.2.16.jar <no signer certificates>)
> 
> sun.misc.Launcher$ExtClassLoader@3ecf72fd
> 
> <no principals>
> 
> java.security.Permissions@75bd9247 (
> 
> ("java.io.FilePermission" "\C:\jre8\lib\ext\log4j-1.2.16.jar"
> "read")
> 
> )
> 
> scl:
> 
> log4j:ERROR Could not find value for key log4j.appender.DEBUG
> 
> log4j:ERROR Could not instantiate appender named "DEBUG".
> 
> jar: beginEntry META-INF/MANIFEST.MF
> 
> jar: done with meta!
> 
> jar: nothing to verify!
> 
> scl:  getPermissions ProtectionDomain
> (file:/C:/tomcat8.0.33/lib/catalina.jar <no signer certificates>)
> 
> java.net.URLClassLoader@520a3426
> 
> <no principals>
> 
> java.security.Permissions@18eed359 (
> 
> ("java.io.FilePermission" "\C:\tomcat8.0.33\lib\catalina.jar"
> "read")
> 
> )
> 
> scl:
> 
> jar: beginEntry META-INF/MANIFEST.MF
> 
> jar: done with meta!
> 
> jar: nothing to verify!
> 
> scl:  getPermissions ProtectionDomain
> (file:/C:/tomcat8.0.33/lib/tomcat-util-scan.jar <no signer
> certificates>)
> 
> java.net.URLClassLoader@520a3426
> 
> <no principals>
> 
> java.security.Permissions@50b494a6 (
> 
> ("java.io.FilePermission"
> "\C:\tomcat8.0.33\lib\tomcat-util-scan.jar" "read")
> 
> )
> 
> scl:
> 
> jar: beginEntry META-INF/MANIFEST.MF
> 
> jar: done with meta!
> 
> jar: nothing to verify!
> 
> scl:  getPermissions ProtectionDomain
> (file:/C:/tomcat8.0.33/lib/tomcat-coyote.jar <no signer
> certificates>)
> 
> java.net.URLClassLoader@520a3426
> 
> <no principals>
> 
> java.security.Permissions@6737fd8f (
> 
> ("java.io.FilePermission" "\C:\tomcat8.0.33\lib\tomcat-coyote.jar"
> "read")
> 
> )
> 
> scl:
> 
> jar: beginEntry META-INF/MANIFEST.MF
> 
> jar: done with meta!
> 
> jar: nothing to verify!
> 
> scl:  getPermissions ProtectionDomain
> (file:/C:/tomcat8.0.33/lib/tomcat-util.jar <no signer
> certificates>)
> 
> java.net.URLClassLoader@520a3426
> 
> <no principals>
> 
> java.security.Permissions@5e853265 (
> 
> ("java.io.FilePermission" "\C:\tomcat8.0.33\lib\tomcat-util.jar"
> "read")
> 
> )
> 
> scl:
> 
> jar: beginEntry META-INF/MANIFEST.MF
> 
> jar: done with meta!
> 
> jar: nothing to verify!
> 
> scl:  getPermissions ProtectionDomain
> (file:/C:/tomcat8.0.33/lib/catalina-ha.jar <no signer
> certificates>)
> 
> java.net.URLClassLoader@520a3426
> 
> <no principals>
> 
> java.security.Permissions@4d3167f4 (
> 
> ("java.io.FilePermission" "\C:\tomcat8.0.33\lib\catalina-ha.jar"
> "read")
> 
> )
> 
> scl:
> 
> jar: beginEntry META-INF/MANIFEST.MF
> 
> jar: done with meta!
> 
> jar: nothing to verify!
> 
> scl:  getPermissions ProtectionDomain
> (file:/C:/jre8/lib/ext/apache-xercesImpl.jar <no signer
> certificates>)
> 
> sun.misc.Launcher$ExtClassLoader@3ecf72fd
> 
> <no principals>
> 
> java.security.Permissions@7a30d1e6 (
> 
> ("java.io.FilePermission" "\C:\jre8\lib\ext\apache-xercesImpl.jar"
> "read")
> 
> )
> 
> scl:
> 
> jar: beginEntry META-INF/MANIFEST.MF
> 
> jar: done with meta!
> 
> jar: nothing to verify!
> 
> scl:  getPermissions ProtectionDomain
> (file:/C:/tomcat8.0.33/lib/tomcat-api.jar <no signer
> certificates>)
> 
> java.net.URLClassLoader@520a3426
> 
> <no principals>
> 
> java.security.Permissions@7f1302d6 (
> 
> ("java.io.FilePermission" "\C:\tomcat8.0.33\lib\tomcat-api.jar"
> "read")
> 
> )
> 
> scl:
> 
> jar: beginEntry META-INF/MANIFEST.MF
> 
> jar: done with meta!
> 
> jar: nothing to verify!
> 
> scl:  getPermissions ProtectionDomain
> (file:/C:/tomcat8.0.33/lib/tomcat-jni.jar <no signer
> certificates>)
> 
> java.net.URLClassLoader@520a3426
> 
> <no principals>
> 
> java.security.Permissions@6973bf95 (
> 
> ("java.io.FilePermission" "\C:\tomcat8.0.33\lib\tomcat-jni.jar"
> "read")
> 
> )
> 
> scl:
> 
> jar: beginEntry META-INF/MANIFEST.MF
> 
> jar: done with meta!
> 
> jar: nothing to verify!
> 
> scl:  getPermissions ProtectionDomain
> (file:/C:/poc/lib/connect.jar <no signer certificates>)
> 
> sun.misc.Launcher$AppClassLoader@18b4aac2
> 
> <no principals>
> 
> java.security.Permissions@4445629 (
> 
> ("java.lang.RuntimePermission" "exitVM")
> 
> ("java.io.FilePermission" "\C:\poc\lib\connect.jar" "read")
> 
> )
> 
> 
> 
> Many thanks in advance.
> 
> 
> 
> 
> 
> 
> 
> -----Original Message----- From: Sanka, Ambica 
> [mailto:asa...@atpco.net] Sent: 25 May 2016 17:52 To: Tomcat Users 
> List Subject: RE: tomcat8.0.33 classpath/classloader issues
> 
> 
> 
> You can put in catalina.properties. There is entry with common.loader 
> in catalina.properties under conf folder. Please see below
> 
> 
> 
> # Note: Values are enclosed in double quotes ("...") in case either 
> the
> 
> #       ${catalina.base} path or the ${catalina.home} path contains
> a comma.
> 
> common.loader="${catalina.base}/lib","${catalina.base}/lib/*.jar","${c
atalina.home}/lib","${catalina.home}/lib/*.jar","${catalina.home}/db2/*.
jar","${catalina.home}/mq/*.jar","${catalina.home}/wasejb/*.jar","${cata
lina.home}/conf","${catalina.home}/properties"
>
> 
> 
> 
> Hope this helps.
> 
> Ambica.
> 
> -----Original Message-----
> 
> From: Venkata Reddy P [mailto:venkata.re...@trianz.com]
> 
> Sent: Wednesday, May 25, 2016 5:43 AM
> 
> To: Tomcat Users List
> <users@tomcat.apache.org<mailto:users@tomcat.apache.org>>
> 
> Subject: RE: tomcat8.0.33 classpath/classloader issues
> 
> 
> 
> Many thanks Mark. I will give a retry it.
> 
> Is there a way to set all jars in folder (c:\poc\lib) to classpath on 
> startup?
> 
> 
> 
> 
> 
> -----Original Message-----
> 
> From: Mark Thomas [mailto:ma...@apache.org]
> 
> Sent: Wednesday, May 25, 2016 2:25 PM
> 
> To: Tomcat Users List
> 
> Subject: Re: tomcat8.0.33 classpath/classloader issues
> 
> 
> 
> On 25/05/2016 06:14, Venkata Reddy P wrote:
> 
>> Can anyone please help me on this?
> 
> 
> 
> Don't mess with the classpath. You should (almost) never need to do 
> that.
> 
> 
> 
> Put shared JARs in Tomcat's lib directory.
> 
> 
> 
> Mark
> 
> 
> 
> 
> 
>> 
> 
>> From: Venkata Reddy P
> 
>> Sent: 24 May 2016 14:44
> 
>> To: Tomcat Users List
> 
>> Subject: tomcat8.0.33 classpath/classloader issues
> 
>> 
> 
>> Hi,
> 
>> 
> 
>> Currently I am migrating my existing tomcat6.0.x to tomcat8.0.33 
>> version.
> 
>> 
> 
>> 
> 
>> 1)      I have deployed four web applications inside webapps
>> folder, all these 4 web applications use the few common jars which I 
>> was (in tomcat6.0.x) setting as classpath variable in 
>> setclasspath.bat as below
> 
>> rem Adding classpath to existing path.
> 
>> set CLASSPATH=%CLASSPATH%;%PROJECT_CP%
> 
>> 
> 
>> %PROJECT_CP% is set by the list of project jars. This way of setting 
>> classpath is not working in tomcat8.0.33.  Is it still valid way of 
>> setting the classpath in tomcat8.0.x?
> 
>> 
> 
>> 
> 
>> 2)      Some unknown reason when I start tomcat8.0.x server by
>> running <catalina_home>\bin\startup.bat,
> 
>> 
> 
>> Its unable to load the default tomcat jars from <catalina_home>\lib\ 
>> folder
> 
>> 
> 
>> Do we have any limitation in tomcat8.0.33 version?
> 
>> 
> 
>> 
> 
>> 
> 
>> In both 1) and 2) cases if I have copy all the required jars to 
>> primary roo class loader <jre8>\ext\lib folder, then it is loading 
>> all the jars as expected. The way of loading through the jre folder 
>> is not good practice in my project to separate the jars.
> 
>> 
> 
>> 
> 
>> 
> 
>> Could you please help why default tomcat jars not loading and 
>> classpath is not working in tomcat8.0.33 version?
> 
>> 
> 
>> Many Thanks in advance.
> 
>> 
> 
> 
> 
> 
> 
> ---------------------------------------------------------------------
>
>  To unsubscribe, e-mail:
> users-unsubscr...@tomcat.apache.org<mailto:users-unsubscr...@tomcat.ap
ache.org>
>
>  For additional commands, e-mail:
> users-h...@tomcat.apache.org<mailto:users-h...@tomcat.apache.org>
> 
> 
> 
> 
> 
> ---------------------------------------------------------------------
>
>  To unsubscribe, e-mail:
> users-unsubscr...@tomcat.apache.org<mailto:users-unsubscr...@tomcat.ap
ache.org>
>
>  For additional commands, e-mail:
> users-h...@tomcat.apache.org<mailto:users-h...@tomcat.apache.org>
> 
> 
> 
> 
> 
> ---------------------------------------------------------------------
>
>  To unsubscribe, e-mail:
> users-unsubscr...@tomcat.apache.org<mailto:users-unsubscr...@tomcat.ap
ache.org>
>
>  For additional commands, e-mail:
> users-h...@tomcat.apache.org<mailto:users-h...@tomcat.apache.org>
> 
> 
> 
> ---------------------------------------------------------------------
>
> 
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
> 
> 
> ---------------------------------------------------------------------
>
> 
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
> 
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBCAAGBQJXSIdCAAoJEBzwKT+lPKRYUkgP/0YUDbLBZyEQ6xXOpmgu7MEX
HZZEx04obhIUjKGOqB3Cmx74+Nw9OfWcckxtNo0uH3VsghMPbajP85Yuixt/9ApX
b0pFsrAgxvLszJCmrX5rk/02Ys2SK00LdrWKrKTVL5JMJGo3eE1tNfato3nFEAdx
RQjAn9YE9lcs1krFJGYUuLUb+wzQe+XlTsXErDK8itLQ9bH5QFpPEz6TiYxIH5I+
RoTbQUEZGqAdCN4IUxfF/uroHjDbN4/+Pp+PxtqvnFCDtmqb2TEteLSM1L0YfXk+
83qu0TwXmwS177Enh5Ey7De9ulnXuEFI9wA1bOr5qN44udBpCWeZCdP6TSPyolpZ
zJAGRNVTI4OX3ObnI76y90gjjYGzEqrgFm8bzSZGmZ1nHzM2CGgPkxkTIYPFkzft
Sgt6yWSyRkDZFrZeZa25WeHEuAqSWHvVnAwBwW4GuxIadaAtuhJbilT2mMVvOkgS
H1wvpcHrhlirC1sIcNcP54yGhUCXYH0wekp2Zxq/48Es6XQ6AF/N034iencvN8tm
dtd+V15iZwh5RjCnvsUZn5BysLYsAYv5J3kK1L1K/yCD+i/tP+B0R3q7GXdxpHJt
6hQ+a0+l+INuvnHLIw512OwfDIqCUIsuWn/H0AsNqd4AsoTaWGiCu22LCKTAkWJD
384CjATidtEvi4C5JF4a
=yEKO
-----END PGP SIGNATURE-----

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

Reply via email to