Tomcat7 MySQL 连接器不一致

Tomcat7 MySQL connector inconsistency

这个问题有点奇怪,我一辈子都弄不明白到底发生了什么。我在 Tomcat7 实例上有两个应用程序 (WARS) 运行。它们都连接到数据库并使用 JNDI 获取该连接。 tomcat context.xml 文件中指定的数据源引用如下。

Tomcat7/conf/context.xml

<Resource name="jdbc/dataSourceOne" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="user" password="pass" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/databaseone" />

<Resource name="jdbc/dataSourceTwo" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="user" password="pass" driverClassName="com.mysql.jdbc.Driver"  url="jdbc:mysql://localhost/databasetwo" />

WEB-INF/lib

两个应用程序的 lib 文件夹中都有 mysql 连接器 jar 的副本。

现在奇怪的是,应用程序 1 开箱即用。我只需要在我的 tomcat 实例上部署 WAR,所有系统就可以了。它获得了它的数据源并且可以毫无问题地连接到它的数据库。

但是,当我尝试部署应用程序 2 时,出现 MySQL class 未找到异常。现在解决这个问题的方法是将上面的 mysql 连接器 jar 添加到 tomcat7/lib 文件夹。

我的问题是为什么我只需要为我的第二个应用程序添加这个?如果 tomcat7 需要 mysql 连接器 jar,为什么我的第一个应用程序可以在不对 tomcat7 设置进行任何修改的情况下运行?

如果不进行修改,一个应用程序可以运行而另一个应用程序将无法运行,这是没有意义的。

任何帮助将不胜感激。

@Gimby - 事实证明你是对的,应用程序 1 实际上并没有使用 tomcats context.xml 文件中定义的数据源。感谢您的输入,非常感谢您的帮助。