所以我有一个Web应用程序,我在远程Tomcat服务器实例上部署/重新部署。有时,部署甚至重新部署(通过重新部署,我的意思是通过SFTP移动ROOT.war并让Tomcat实际重新部署它)按预期工作,没有任何问题与数据库连接。不幸的是,其他时候,在重新部署之后,它只是拒绝连接到数据库,因为显然它不再识别MySQL驱动程序。 MySQL连接器lib位于Tomcat的lib文件夹中,而不是带有WAR的包。
的pom.xml:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.36</version>
<scope>provided</scope>
</dependency>
web应用/ WEB-INF / web.xml中:
<resource-ref>
<description>App MySQL</description>
<res-ref-name>jdbc/App_MySQL</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
web应用/ META-INF / context.xml中:
<Context>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<ResourceLink name="jdbc/App_MySQL"
global="jdbc/App_MySQL"
type="javax.sql.DataSource"/>
</Context>
VAR / LIB / tomcat7 / CONF:
<GlobalNamingResources>
<Resource
name="jdbc/App_MySQL"
auth="Container"
type="javax.sql.DataSource"
username="root"
password="root_password"
driverClassName="com.mysql.jdbc.Driver"
description="App Database"
url="jdbc:mysql://localhost:3306/"
maxActive="15"
maxIdle="3"/>
</GlobalNamingResources>
以下完整错误:
SEVERE: Unable to create initial connections of pool.
java.sql.SQLException
at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:254)