You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Venkata Reddy P <Ve...@trianz.com> on 2016/05/24 09:13:57 UTC

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.

Re: tomcat8.0.33 classpath/classloader issues

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

Venkata,

On 5/30/16 8:13 AM, Venkata Reddy P wrote:
> 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.

If your JAR file is in CATALINA_HOME/lib, then the classes in it
should be available.

Something definitely sounds broken in your installation. Do you have
any JAR files that appear in multiple places within the ClassLoader
hierarchy? It sounds like you've been changing every setting you can
find, so perhaps you have broken everything.

> Is there anyway I can force tomcat bootstrap class loader to load 
> external libraries?

Tomcat's bootstrap library should not need any external libraries. It
only needs bootstrap.jar and tomcat-juli.jar to get started. After
that, the server ClassLoader is created and should have access to all
classes in JAR files in CATALINA_BASE/lib and CATALINA_HOME/lib

> Can you please suggest me how to override bootstrap class loader
> to load external libraries?

Put your JAR file in CATALINA_BASE/lib and nothing else. This works on
an otherwise unmodified installation of Tomcat, with all versions of
Tomcat since 6.0.

- -chris

> -----Original Message----- From: Christopher Schultz
> [mailto:chris@christopherschultz.net] Sent: Friday, May 27, 2016
> 11:14 PM To: Tomcat Users List Subject: Re: tomcat8.0.33
> classpath/classloader issues
> 
> 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.Reddy@trianz.com] Sent: Friday, May 27, 2016 1:02
>> PM To: Tomcat Users List <us...@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:ASanka@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","${ca
ta
>
> 
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.Reddy@trianz.com] Sent: Friday, May 27, 2016 8:06
>> AM To: Tomcat Users List <us...@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:14
2
>
>> 
)
> 
>> 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(ConnectorCreate
R
>
>> 
ule.java:62)
> 
>> at 
>> org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1
1
>
>> 
78)
> 
>> at 
>> org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown 
>> Source)
> 
>> at 
>> org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unkn
o
>
>> 
wn
>> Source)
> 
>> at 
>> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElemen
t
>
>> 
(Unknown
>> Source)
> 
>> at 
>> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContent
D
>
>> 
ispatcher.dispatch(Unknown
>> Source)
> 
>> at 
>> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Un
k
>
>> 
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(DelegatingMethodAcces
s
>
>> 
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:ASanka@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","${ca
ta
>
> 
lina.home}/conf","${catalina.home}/properties"
> 
> 
> 
> 
>> Hope this helps.
> 
>> Ambica.
> 
>> -----Original Message-----
> 
>> From: Venkata Reddy P [mailto:Venkata.Reddy@trianz.com]
> 
>> Sent: Wednesday, May 25, 2016 5:43 AM
> 
>> To: Tomcat Users List 
>> <us...@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:markt@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-unsubscribe@tomcat.apache.org<mailto:users-unsubscribe@tomcat.a
p
>
>> 
ache.org>
> 
>> For additional commands, e-mail: 
>> users-help@tomcat.apache.org<ma...@tomcat.apache.org>
>
>> 
> 
> 
> 
> 
>> ---------------------------------------------------------------------
>
>>  To unsubscribe, e-mail: 
>> users-unsubscribe@tomcat.apache.org<mailto:users-unsubscribe@tomcat.a
p
>
>> 
ache.org>
> 
>> For additional commands, e-mail: 
>> users-help@tomcat.apache.org<ma...@tomcat.apache.org>
>
>> 
> 
> 
> 
> 
>> ---------------------------------------------------------------------
>
>>  To unsubscribe, e-mail: 
>> users-unsubscribe@tomcat.apache.org<mailto:users-unsubscribe@tomcat.a
p
>
>> 
ache.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
> 
> 
>> ---------------------------------------------------------------------
>
>> 
> 
> 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
> 
> 
> ---------------------------------------------------------------------
>
> 
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
> 
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBCAAGBQJXTb7gAAoJEBzwKT+lPKRYYvsQAJE8wPiWprxXQ79bm4NAOffj
9bH18bLq3C55tBrFjLodeN5SzmTESMeCROXS5EHm/j8nr/+syg5g/OW26cov/2k3
wbPYwHKJGA944ghc+CIMZddRbwYRQeQfaUbHANeEqNxfFngYVzaGpD3AkjVXrTta
JVqeO2/uDHif+jlGKlIUeVGb5QdnLCwJBvg32YL5KIovzEMBD1/gw+Oigo4AH0iY
wTEby0v28j29Cs+RPJY8g++KmNuixv0Pu6/a1P3uVOXNtCLVnqGedJl5L6938gCs
7J8XmId4pE8M+Hp5WzFr+hyb4Zx9AR6aK06dgOSS9TA+obkP+nqyylIJdyUC+WcN
q2zPGqa8lIjHqGrdEOUVv2yYaxV8IkUdF5xKYxisV7/0OaRzhJBuU5hKKTkLhy6C
eknG3qKrRSRJOcAZH6o+Uw40vgBFmsM3KB8yhcqucsLWRz/xMATc9dI/ZbsLSlkk
l4Tv7TjFdYnbobMkRVezmKU9zakSJJK56mb1BIHGO7cDBc6X5PNVZjPDaOulNMm/
6EEZrLXvLyMStCxmaB9Vbm/pqL+lF/u2f1biLdMwuWZrgd8/rVQ5WFzRLzf3QOkz
DEPK6Nb/sh0EXiQ8kvlpDRJzNUtQMb7MkpSOK1kaKCK0Ddqt/Af3bV/srfWGxnnR
oUykEMUpx1f9xJY+qCzh
=Q4wa
-----END PGP SIGNATURE-----

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


RE: tomcat8.0.33 classpath/classloader issues

Posted by Venkata Reddy P <Ve...@trianz.com>.
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:chris@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.Reddy@trianz.com] Sent: Friday, May 27, 2016 1:02 PM 
> To: Tomcat Users List <us...@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:ASanka@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.Reddy@trianz.com] Sent: Friday, May 27, 2016 8:06 AM 
> To: Tomcat Users List <us...@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:ASanka@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.Reddy@trianz.com]
> 
> Sent: Wednesday, May 25, 2016 5:43 AM
> 
> To: Tomcat Users List
> <us...@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:markt@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-unsubscribe@tomcat.apache.org<mailto:users-unsubscribe@tomcat.ap
ache.org>
>
>  For additional commands, e-mail:
> users-help@tomcat.apache.org<ma...@tomcat.apache.org>
> 
> 
> 
> 
> 
> ---------------------------------------------------------------------
>
>  To unsubscribe, e-mail:
> users-unsubscribe@tomcat.apache.org<mailto:users-unsubscribe@tomcat.ap
ache.org>
>
>  For additional commands, e-mail:
> users-help@tomcat.apache.org<ma...@tomcat.apache.org>
> 
> 
> 
> 
> 
> ---------------------------------------------------------------------
>
>  To unsubscribe, e-mail:
> users-unsubscribe@tomcat.apache.org<mailto:users-unsubscribe@tomcat.ap
ache.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
> 
> 
> ---------------------------------------------------------------------
>
> 
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
> 
-----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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: tomcat8.0.33 classpath/classloader issues

Posted by Christopher Schultz <ch...@christopherschultz.net>.
-----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.Reddy@trianz.com] Sent: Friday, May 27, 2016 1:02
> PM To: Tomcat Users List <us...@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:ASanka@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.Reddy@trianz.com] Sent: Friday, May 27, 2016 8:06
> AM To: Tomcat Users List <us...@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:ASanka@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.Reddy@trianz.com]
> 
> Sent: Wednesday, May 25, 2016 5:43 AM
> 
> To: Tomcat Users List
> <us...@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:markt@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-unsubscribe@tomcat.apache.org<mailto:users-unsubscribe@tomcat.ap
ache.org>
>
>  For additional commands, e-mail:
> users-help@tomcat.apache.org<ma...@tomcat.apache.org>
> 
> 
> 
> 
> 
> ---------------------------------------------------------------------
>
>  To unsubscribe, e-mail:
> users-unsubscribe@tomcat.apache.org<mailto:users-unsubscribe@tomcat.ap
ache.org>
>
>  For additional commands, e-mail:
> users-help@tomcat.apache.org<ma...@tomcat.apache.org>
> 
> 
> 
> 
> 
> ---------------------------------------------------------------------
>
>  To unsubscribe, e-mail:
> users-unsubscribe@tomcat.apache.org<mailto:users-unsubscribe@tomcat.ap
ache.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
> 
> 
> ---------------------------------------------------------------------
>
> 
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
> 
-----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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


RE: tomcat8.0.33 classpath/classloader issues

Posted by "Sanka, Ambica" <AS...@ATPCO.NET>.
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

-----Original Message-----
From: Venkata Reddy P [mailto:Venkata.Reddy@trianz.com] 
Sent: Friday, May 27, 2016 1:02 PM
To: Tomcat Users List <us...@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:ASanka@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","${catalina.home}/lib","${catalina.home}/lib/*.jar","${catalina.home}/db2/*.jar","${catalina.home}/mq/*.jar","${catalina.home}/wasejb/*.jar","${catalina.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.Reddy@trianz.com]
Sent: Friday, May 27, 2016 8:06 AM
To: Tomcat Users List <us...@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(ConnectorCreateRule.java:62)

        at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1178)

        at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)

        at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)

        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)

        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)

        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown 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.java:62)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.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:ASanka@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","${catalina.home}/lib","${catalina.home}/lib/*.jar","${catalina.home}/db2/*.jar","${catalina.home}/mq/*.jar","${catalina.home}/wasejb/*.jar","${catalina.home}/conf","${catalina.home}/properties"



Hope this helps.

Ambica.

-----Original Message-----

From: Venkata Reddy P [mailto:Venkata.Reddy@trianz.com]

Sent: Wednesday, May 25, 2016 5:43 AM

To: Tomcat Users List <us...@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:markt@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-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<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<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


---------------------------------------------------------------------
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: tomcat8.0.33 classpath/classloader issues

Posted by Venkata Reddy P <Ve...@trianz.com>.
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:ASanka@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","${catalina.home}/lib","${catalina.home}/lib/*.jar","${catalina.home}/db2/*.jar","${catalina.home}/mq/*.jar","${catalina.home}/wasejb/*.jar","${catalina.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.Reddy@trianz.com]
Sent: Friday, May 27, 2016 8:06 AM
To: Tomcat Users List <us...@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(ConnectorCreateRule.java:62)

        at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1178)

        at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)

        at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)

        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)

        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)

        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown 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.java:62)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.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:ASanka@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","${catalina.home}/lib","${catalina.home}/lib/*.jar","${catalina.home}/db2/*.jar","${catalina.home}/mq/*.jar","${catalina.home}/wasejb/*.jar","${catalina.home}/conf","${catalina.home}/properties"



Hope this helps.

Ambica.

-----Original Message-----

From: Venkata Reddy P [mailto:Venkata.Reddy@trianz.com]

Sent: Wednesday, May 25, 2016 5:43 AM

To: Tomcat Users List <us...@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:markt@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-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<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<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


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


RE: tomcat8.0.33 classpath/classloader issues

Posted by "Sanka, Ambica" <AS...@ATPCO.NET>.
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","${catalina.home}/lib","${catalina.home}/lib/*.jar","${catalina.home}/db2/*.jar","${catalina.home}/mq/*.jar","${catalina.home}/wasejb/*.jar","${catalina.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.Reddy@trianz.com] 
Sent: Friday, May 27, 2016 8:06 AM
To: Tomcat Users List <us...@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(ConnectorCreateRule.java:62)

        at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1178)

        at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)

        at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)

        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)

        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)

        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown 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.java:62)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.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:ASanka@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","${catalina.home}/lib","${catalina.home}/lib/*.jar","${catalina.home}/db2/*.jar","${catalina.home}/mq/*.jar","${catalina.home}/wasejb/*.jar","${catalina.home}/conf","${catalina.home}/properties"



Hope this helps.

Ambica.

-----Original Message-----

From: Venkata Reddy P [mailto:Venkata.Reddy@trianz.com]

Sent: Wednesday, May 25, 2016 5:43 AM

To: Tomcat Users List <us...@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:markt@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-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<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<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: tomcat8.0.33 classpath/classloader issues

Posted by Venkata Reddy P <Ve...@trianz.com>.
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(ConnectorCreateRule.java:62)

        at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1178)

        at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)

        at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)

        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)

        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)

        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown 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.java:62)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.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:ASanka@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","${catalina.home}/lib","${catalina.home}/lib/*.jar","${catalina.home}/db2/*.jar","${catalina.home}/mq/*.jar","${catalina.home}/wasejb/*.jar","${catalina.home}/conf","${catalina.home}/properties"



Hope this helps.

Ambica.

-----Original Message-----

From: Venkata Reddy P [mailto:Venkata.Reddy@trianz.com]

Sent: Wednesday, May 25, 2016 5:43 AM

To: Tomcat Users List <us...@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:markt@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-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<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<ma...@tomcat.apache.org>

For additional commands, e-mail: users-help@tomcat.apache.org<ma...@tomcat.apache.org>



RE: tomcat8.0.33 classpath/classloader issues

Posted by "Sanka, Ambica" <AS...@ATPCO.NET>.
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","${catalina.home}/lib","${catalina.home}/lib/*.jar","${catalina.home}/db2/*.jar","${catalina.home}/mq/*.jar","${catalina.home}/wasejb/*.jar","${catalina.home}/conf","${catalina.home}/properties"

Hope this helps.
Ambica.
-----Original Message-----
From: Venkata Reddy P [mailto:Venkata.Reddy@trianz.com] 
Sent: Wednesday, May 25, 2016 5:43 AM
To: Tomcat Users List <us...@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:markt@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-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


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


RE: tomcat8.0.33 classpath/classloader issues

Posted by Venkata Reddy P <Ve...@trianz.com>.
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:markt@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-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: tomcat8.0.33 classpath/classloader issues

Posted by Mark Thomas <ma...@apache.org>.
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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


RE: tomcat8.0.33 classpath/classloader issues

Posted by Venkata Reddy P <Ve...@trianz.com>.
Can anyone please help me on this?

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.