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

Gary,

On 3/25/19 12:08, Hua, Gary - Saint Louis, MO - Contractor wrote:
> Olaf:
> 
> Thanks for the input.    I removed jdbc2_0-stdext.jar  and
> tomcat-dbcp.jar   from
> /opt/TomCat/apache-tomcat-9.0.13/webapps/TOPS-WEB/WEB-INF/lib  and
> did some cleaning on /opt/TomCat/apache-tomcat-9.0.13/lib,   now
> that is my lib folder looks like:

Wow, this must be a very old web application. You still have some
cleaning-up to do.

> atadmin@eagnmnmed1f45:/opt/TomCat/apache-tomcat-9.0.13/webapps/TOPS-WE
B/WEB-INF/lib>ls
> -l total 20648 -rwxrwxrwx 1 atadmin atadmin  433164 Dec 17 17:47
> antlr-2.7.5H3.jar -rwxrwxrwx 1 atadmin atadmin  281998 Dec 17 17:45
> cglib-2.1.jar

Super old.

[...]

> -rwxrwxrwx 1 atadmin atadmin   16777 Dec 17 17:45     asm-attrs.jar 
> -rwxrwxrwx 1 atadmin atadmin   26360 Dec 17 17:45      asm.jar 
> -rwxrwxrwx 1 atadmin atadmin  188671 Dec 17 17:47
> commons-beanutils.jar -rwxrwxrwx 1 atadmin atadmin  165119 Dec 17
> 17:45
commons-collections.jar
> -rwxrwxrwx 1 atadmin atadmin  168446 Dec 17 17:47
> commons-digester.jar -rwxrwxrwx 1 atadmin atadmin   26388 Dec 17
> 17:47         commons-logging.jar -rwxrwxrwx 1 atadmin atadmin   84462 Dec
> 17 17:47      commons-validator.jar -rwxrwxrwx 1 atadmin atadmin
> 153115 Dec 17 17:45   jdom.jar -rwxrwxrwx 1 atadmin atadmin    8812
> Dec 17 17:45  jta.jar -rwxrwxrwx 1 atadmin atadmin  367444 Dec 17
> 17:45         log4j.jar

I'm always suspicious of library JAR files that have no version
number. You might want to take a look at what these are and re-name
them appropriately.

> -rwxrwxrwx 1 atadmin atadmin 1196109 Dec 17 17:47     classes12.jar

classes12.jar is Oracle's JDBC driver written for Java 1.2. I'm fairly
sure that was hand-coded by Hammurabi himself. If you are indeed using
Oracle DB, you need to upgrade to a library version released during
this century.

> -rwxrwxrwx 1 atadmin atadmin 3698857 Mar 15 15:32     ojdbc7.jar

This is a second Oracle JDBC driver. Do you need both of them?

> -rwxrwxrwx 1 atadmin atadmin 4604132 Dec 17 17:45
> com.ibm.ws.webcontainer.jar

This is a WebSphere library. Presumably, you have left WebSphere
behind in favor of Tomcat? Or maybe you need some service that WS
provides and you have taken it with you?

> -rwxrwxrwx 1 atadmin atadmin  205318 Mar 19 11:20
> commons-dbcp2-2.6.0.jar -rwxrwxrwx 1 atadmin atadmin   70604 Dec 17
> 17:45         commons-fileupload-1.3.3.jar -rwxrwxrwx 1 atadmin atadmin
> 214788 Dec 17 17:45   commons-io-2.6.jar -rwxrwxrwx 1 atadmin
> atadmin  207723 Dec 17 17:47  commons-lang-2.1.jar -rwxrwxrwx 1
> atadmin atadmin  315805 Dec 17 17:47  commons-lang3-3.1.jar 
> -rwxrwxrwx 1 atadmin atadmin  210432 Dec 17 17:45
> displaytag-1.1.jar -rwxrwxrwx 1 atadmin atadmin   12590 Dec 17
> 17:45         displaytag-export-poi-1.1.jar -rwxrwxrwx 1 atadmin atadmin
> 312509 Dec 17 17:45   dom4j-1.5.2.jar -rwxrwxrwx 1 atadmin atadmin
> 47531 Dec 17 17:45    ehcache-1.1.jar -rwxrwxrwx 1 atadmin atadmin
> 1925498 Dec 17 17:45  hibernate3.jar -rwxrwxrwx 1 atadmin atadmin
> 65425 Dec 17 17:45    jakarta-oro.jar

> -rwxrwxrwx 1 atadmin atadmin 1979523 Dec 17 17:41
> javaee-api-8.0.jar

I'm fairly sure this should be removed. Tomcat provides all of the
APIs that you need. While this may be a compile-time dependency,
everything should be provided at runtime by Tomcat.

> -rwxrwxrwx 1 atadmin atadmin  414240 Dec 17 16:29      jstl-1.2.jar

> -rwxrwxrwx 1 atadmin atadmin  105355 Dec 17 17:45
> old_lcms-webtools.jar -rwxrwxrwx 1 atadmin atadmin  795231 Dec 17
> 17:45         poi-2.5-final-20040302.jar -rwxrwxrwx 1 atadmin atadmin
> 55210 Dec 17 17:45    poi-contrib-2.5-final-20040302.jar -rwxrwxrwx 1
> atadmin atadmin  188942 Dec 17 17:45
> poi-scratchpad-2.5-final-20040302.jar -rwxrwxrwx 1 atadmin atadmin
> 475943 Dec 17 17:45   proxool-0.8.3.jar -rwxrwxrwx 1 atadmin atadmin
> 543706 Dec 17 17:47   struts.jar

Aha, I see. You are running Struts 1 which requires ancient versions
of certain libraries.

> -rwxrwxrwx 1 atadmin atadmin  495271 Dec 17 17:47
> Struts-Layout.jar -rwxrwxrwx 1 atadmin atadmin   68046 Dec 17 17:47
> struts-menu-2.4.3.jar -rwxrwxrwx 1 atadmin atadmin   39427 Dec 17
> 17:47         taglibs-request.jar -rwxrwxrwx 1 atadmin atadmin   44061 Dec
> 17 17:45      USPS-Framework-1.0.8-alpha.jar -rwxrwxrwx 1 atadmin
> atadmin  834966 Dec 17 17:45  xercesImpl.jar
> 
> 
> atadmin@eagnmnmed1f45:/opt/TomCat/apache-tomcat-9.0.13/lib>ls -l 
> total 13308 -rwxrwxrwx 1 atadmin atadmin   12966 Nov  2 09:29
> annotations-api.jar -rwxrwxrwx 1 atadmin atadmin   54415 Nov  2
> 09:29         catalina-ant.jar -rwxrwxrwx 1 atadmin atadmin  120721 Nov  2
> 09:29         catalina-ha.jar -rwxrwxrwx 1 atadmin atadmin 1652907 Nov 15
> 10:49         catalina.jar -rwxrwxrwx 1 atadmin atadmin 1653788 Nov  2
> 09:29  catalina.jar.20181115-1049

Remove this.

> -rwxrwxrwx 1 atadmin atadmin   78634 Nov  2 09:29
> catalina-storeconfig.jar -rwxrwxrwx 1 atadmin atadmin  338876 Nov
> 2 09:29       catalina-tribes.jar -rwxrwxrwx 1 atadmin atadmin 2769774
> Nov  2 09:29  ecj-4.7.3a.jar -rwxrwxrwx 1 atadmin atadmin   87515
> Nov  2 09:29  el-api.jar -rwxrwxrwx 1 atadmin atadmin  167490 Nov
> 2 09:29        jasper-el.jar -rwxrwxrwx 1 atadmin atadmin  557374 Nov  2
> 09:29         jasper.jar -rwxrwxrwx 1 atadmin atadmin   27900 Nov  2 09:29
> jaspic-api.jar -rwxrwxrwx 1 atadmin atadmin   63167 Nov  2 09:29
> jsp-api.jar -rwxrwxrwx 1 atadmin atadmin 3698857 Mar 12 17:51
> ojdbc7.jar

This is duplicated from your web application. If Tomcat is configuring
your JDBC connector for you (using a <Resource>  configuration) then
you probably want to put your JAR file *here* and not in  the applicatio
n.

> -rwxrwxrwx 1 atadmin atadmin  282576 Nov  2 09:29     servlet-api.jar 
> -rwxrwxrwx 1 atadmin atadmin   11212 Nov  2 09:29     tomcat-api.jar 
> -rwxrwxrwx 1 atadmin atadmin  845744 Nov  2 09:29
> tomcat-coyote.jar -rwxrwxrwx 1 atadmin atadmin  307435 Mar 19 17:42
> tomcat-dbcp-9.0.13.jar

Is this not what came with Tomcat? You should not replace any of
Tomcat's libraries without a *very* good reason.

> -rwxrwxrwx 1 atadmin atadmin   65303 Nov  2 09:29
> tomcat-i18n-es.jar -rwxrwxrwx 1 atadmin atadmin   39235 Nov  2
> 09:29         tomcat-i18n-fr.jar -rwxrwxrwx 1 atadmin atadmin   42125 Nov
> 2 09:29       tomcat-i18n-ja.jar -rwxrwxrwx 1 atadmin atadmin   12166
> Nov  2 09:29  tomcat-i18n-ru.jar -rwxrwxrwx 1 atadmin atadmin
> 36029 Nov  2 09:29    tomcat-jni.jar -rwxrwxrwx 1 atadmin atadmin
> 165171 Nov  2 09:29   tomcat-util.jar -rwxrwxrwx 1 atadmin atadmin
> 208966 Nov  2 09:29   tomcat-util-scan.jar -rwxrwxrwx 1 atadmin
> atadmin  230254 Nov  2 09:29  tomcat-websocket.jar -rwxrwxrwx 1
> atadmin atadmin   38022 Nov  2 09:29  websocket-api.jar

It would be well worth your while to run OWASP's dependency-checker
against your applications dependencies (libraries). It will liekly
scare the hell out of you. Or, it should.

I suspect your problems are from:

1. Two drivers loaded at application level
2. One driver loaded at Tomcat level

I would remove all drivers from the application's WEB-INF/lib
directory and leave the one in Tomcat's lib/ directory.

- -chris

> -----Original Message----- From: Olaf Kock
> [mailto:tom...@olafkock.de] Sent: Monday, March 25, 2019 1:56 AM 
> To: users@tomcat.apache.org Subject: [EXTERNAL] Re: Could not find
> datasource: java:/comp/env/jdbc/TOPSDB when start Tomcat 9.0.13
> 
> 
> 
> On 25.03.19 03:41, Hua, Gary - Saint Louis, MO - Contractor wrote:
>> Hi experts:
>> 
>> After I deployed my application TOPS to Tomcat server(9.0.13) on
>> Linux box,  and started the server,  I got the following error:
>> 
>> 
>> 1537 [main] FATAL connection.DatasourceConnectionProvider  -
>> Could not find datasource: java:/comp/env/jdbc/TOPSDB 
>> java.lang.ClassCastException:
>> org.apache.tomcat.dbcp.dbcp2.BasicDataSource cannot be cast to
>> javax.sql.DataSource at 
>> org.hibernate.connection.DatasourceConnectionProvider.configure(Datas
o
>>
>> 
urceConnectionProvider.java>
>> ...
>> 
>> I have tried to put different version of tomcat-dbcp.jar   like
>> tomcat-dbcp-7.0.47.jar/ tomcat-dbcp-8.0.23.jar/
>> tomcat-dbcp-9.0.13.jar  into
>> /opt/TomCat/apache-tomcat-9.0.13/lib, but not the same error
>> occurred.
> 
> One way or another, the last sentence most likely is the most
> relevant information, and key to solving your problem: Whenever a
> Java class can't be typecast to its legitimate superclass or
> interface, this is a clear sign that the superclass or interface
> can be found twice on the classpath.
> 
> The error message only contains the class name, not the
> classloader, so the root cause is effectively hidden. Make sure
> that javax.sql.DataSource is nowhere to be found in your app's
> WEB-INF/lib, and only once in tomcat's lib directory.
> 
> Olaf
> 
> ---------------------------------------------------------------------
>
> 
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
> 
> 
> ---------------------------------------------------------------------
>
> 
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
> 
-----BEGIN PGP SIGNATURE-----
Comment: Using GnuPG with Thunderbird - https://www.enigmail.net/

iQIzBAEBCAAdFiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAlyaSGgACgkQHPApP6U8
pFjyPA/9GNnf9FVkSL3yly8ebDaDy405PfyEdAW1YfYBqYyDJzjQV9f7xeKj1evD
hQe49VzgnyfU6m/JF08CZHtD5lmXFBGScgL6y2WHsyeR4cBZPUDtTEatJbBCz3E6
wsI/kGE1AV3t6biKnKtlwFcrNUwddK191SCM8MysdTlwiHjpaACCUGKygEYZM5kn
WenMweDQI0KeRipHoMx80VoBrIHtSDBZpfawLsn1g52qOmKg5+HmRCfULPqdXEcA
OKPuSHX2y4IkyZqW2SOYRkAshcCTEBRjJMRF8EVJSKzIyeo/lhpkT2eZRLaONpq+
Fqd9cRQOH+NOP85iIQFgjLBWVGqj7xleGyrE4QbcNNKkQSAGvXtoGBCDNsqgved1
pIDxtTVdJ0izuIYROrOFqB1EYk/JaSWOLBodmqjI5gchSXNyf3AzVvEbxmoPyLq+
j0t6IYYuPuy0b0Rm2mKSsPVVOMs5RDRi59DrGQZzsXbuRAM4wOEx1jcx4IvnEaoQ
v2Zc5fYt+9m7phmg6lF2rS17BdFskJW+VrvqTA+E8f6ugj+owWtuZTE/66Ggaxgx
A9/mOBeIw2+TBr3SAfWrrJZHHBIymFH+i3hk+u5xMxyP1IFDj6w1PGGdUnq0vpp0
s1WXWqxsB50FWtXwzwo2Y37UiBZeaCMWpQEdkhwKb2vbPjFBDyg=
=1vHu
-----END PGP SIGNATURE-----

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

Reply via email to