未知 sun.jdbc.odbc.JdbcOdbcDriver 的实例
Posted
技术标签:
【中文标题】未知 sun.jdbc.odbc.JdbcOdbcDriver 的实例【英文标题】:Unknown sun.jdbc.odbc.JdbcOdbcDriver's Instance 【发布时间】:2016-09-23 10:18:41 【问题描述】:我在 ContextListener 的 contextDestroyed 方法 (Tomcat) 中取消注册 JDBC 驱动程序,我注意到两个 JDBC 驱动程序而不是一个。
我确实加载了oracle.jdbc.driver.OracleDriver
的实例,但我不知道为什么,也不知道是谁加载了sun.jdbc.odbc.JdbcOdbcDriver
。
有什么提示吗?
【问题讨论】:
【参考方案1】:自 JDBC 4 (Java 6) 起,JDBC 驱动程序会在具有正确服务条目的类路径上自动加载。
JdbcOdbcDriver 在 Java 6 和 7 中自动加载,因为它位于类路径中(它是 Java 本身的一部分);它在 Java 8 中被删除。
请注意,您不需要删除此驱动程序,因为它是为整个 JVM 加载的,而不仅仅是为您的上下文(Web 应用程序)加载的。
【讨论】:
我会简单地在 contextInitialized() 上注销它。 @MohamedEnnahdiElIdrissi 如果您不使用它,这并不是真正的问题,但是如果您在同一个 tomcat 中运行其他应用程序,并且您这样做,那么这些应用程序将无法访问这个司机要么。它是由系统类加载器加载的,而不是由上下文类加载器加载的。以上是关于未知 sun.jdbc.odbc.JdbcOdbcDriver 的实例的主要内容,如果未能解决你的问题,请参考以下文章
ValueError:未知标签类型:RandomForestClassifier 中的“未知”